Commit 9f526fce authored by Peter Maydell's avatar Peter Maydell
Browse files

Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-and-misc-110720-2' into staging



Testing and misc build updates:

  - tests/vm support for aarch64 VMs
  - tests/tcg better cross-compiler detection
  - update docker tooling to support registries
  - update docker support for xtensa
  - gitlab build docker images and store in registry
  - gitlab use docker images for builds
  - a number of skipIf updates to support move
  - linux-user MAP_FIXED_NOREPLACE fix
  - qht-bench compiler tweaks
  - configure fix for secret keyring
  - tsan fiber annotation clean-up
  - doc updates for mttcg/icount/gdbstub
  - fix cirrus to use brew bash for iotests
  - revert virtio-gpu breakage
  - fix LC_ALL to avoid sorting changes in iotests

# gpg: Signature made Sat 11 Jul 2020 15:56:42 BST
# gpg:                using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [full]
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8  DF35 FBD0 DB09 5A9E 2A44

* remotes/stsquad/tags/pull-testing-and-misc-110720-2: (50 commits)
  iotests: Set LC_ALL=C for sort
  Revert "vga: build virtio-gpu as module"
  tests: fix "make check-qtest" for modular builds
  .cirrus.yml: add bash to the brew packages
  tests/docker: update toolchain set in debian-xtensa-cross
  tests/docker: fall back more gracefully when pull fails
  docs: Add to gdbstub documentation the PhyMemMode
  docs/devel: add some notes on tcg-icount for developers
  docs/devel: convert and update MTTCG design document
  tests/qht-bench: Adjust threshold computation
  tests/qht-bench: Adjust testing rate by -1
  travis.yml: Test also the other targets on s390x
  shippable: pull images from registry instead of building
  testing: add check-build target
  containers.yml: build with docker.py tooling
  gitlab: limit re-builds of the containers
  tests: improve performance of device-introspect-test
  gitlab: add avocado asset caching
  gitlab: enable check-tcg for linux-user tests
  linux-user/elfload: use MAP_FIXED_NOREPLACE in pgb_reserved_va
  ...

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parents d3449830 4a40f561
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ macos_task:
  osx_instance:
    image: mojave-base
  install_script:
    - brew install pkg-config python gnu-sed glib pixman make sdl2
    - brew install pkg-config python gnu-sed glib pixman make sdl2 bash
  script:
    - mkdir build
    - cd build
@@ -33,7 +33,7 @@ macos_xcode_task:
    # this is an alias for the latest Xcode
    image: mojave-xcode
  install_script:
    - brew install pkg-config gnu-sed glib pixman make sdl2
    - brew install pkg-config gnu-sed glib pixman make sdl2 bash
  script:
    - mkdir build
    - cd build
+1 −0
Original line number Diff line number Diff line
@@ -93,6 +93,7 @@
*.tp
*.vr
*.d
!/.gitlab-ci.d
!/scripts/qemu-guest-agent/fsfreeze-hook.d
*.o
.sdk
+263 −0
Original line number Diff line number Diff line
.container_job_template: &container_job_definition
  image: docker:stable
  stage: containers
  services:
    - docker:dind
  before_script:
    - export TAG="$CI_REGISTRY_IMAGE/qemu/$NAME:latest"
    - export COMMON_TAG="$CI_REGISTRY/qemu-project/qemu/$NAME:latest"
    - apk add python3
    - docker info
    - docker login registry.gitlab.com -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD"
  script:
    - echo "TAG:$TAG"
    - echo "COMMON_TAG:$COMMON_TAG"
    - docker pull "$TAG" || docker pull "$COMMON_TAG" || true
    - ./tests/docker/docker.py --engine docker build
          -t "qemu/$NAME" -f "tests/docker/dockerfiles/$NAME.docker"
          -r $CI_REGISTRY_IMAGE
    - docker tag "qemu/$NAME" "$TAG"
    - docker push "$TAG"
  after_script:
    - docker logout
  rules:
    - changes:
      - .gitlab-ci.d/containers.yml
      - tests/docker/*
    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
    - if: '$CI_COMMIT_REF_NAME == "testing/next"'

amd64-centos7-container:
  <<: *container_job_definition
  variables:
    NAME: centos7

amd64-centos8-container:
  <<: *container_job_definition
  variables:
    NAME: centos8

amd64-debian10-container:
  <<: *container_job_definition
  variables:
    NAME: debian10

amd64-debian11-container:
  <<: *container_job_definition
  variables:
    NAME: debian11

amd64-debian9-container:
  <<: *container_job_definition
  variables:
    NAME: debian9

amd64-debian9-mxe-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian9-container']
  variables:
    NAME: debian9-mxe

alpha-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-alpha-cross

amd64-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-amd64-cross

amd64-debian-user-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-all-test-cross

amd64-debian-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-amd64

arm64-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-arm64-cross

arm64-test-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian11-container']
  variables:
    NAME: debian-arm64-test-cross

armel-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-armel-cross

armhf-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-armhf-cross

hppa-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-hppa-cross

m68k-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-m68k-cross

mips64-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-mips64-cross

mips64el-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-mips64el-cross

mips-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-mips-cross

mipsel-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-mipsel-cross

powerpc-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-powerpc-cross

ppc64-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-ppc64-cross

ppc64el-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-ppc64el-cross

riscv64-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-riscv64-cross

s390x-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-s390x-cross

sh4-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-sh4-cross

sparc64-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian10-container']
  variables:
    NAME: debian-sparc64-cross

tricore-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer2
  needs: ['amd64-debian9-container']
  variables:
    NAME: debian-tricore-cross

win32-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer3
  needs: ['amd64-debian9-mxe-container']
  variables:
    NAME: debian-win32-cross

win64-debian-cross-container:
  <<: *container_job_definition
  stage: containers-layer3
  needs: ['amd64-debian9-mxe-container']
  variables:
    NAME: debian-win64-cross

xtensa-debian-cross-container:
  <<: *container_job_definition
  variables:
    NAME: debian-xtensa-cross

cris-fedora-cross-container:
  <<: *container_job_definition
  variables:
    NAME: fedora-cris-cross

amd64-fedora-container:
  <<: *container_job_definition
  variables:
    NAME: fedora

i386-fedora-cross-container:
  <<: *container_job_definition
  variables:
    NAME: fedora-i386-cross

amd64-ubuntu1804-container:
  <<: *container_job_definition
  variables:
    NAME: ubuntu1804

amd64-ubuntu2004-container:
  <<: *container_job_definition
  variables:
    NAME: ubuntu2004

amd64-ubuntu-container:
  <<: *container_job_definition
  variables:
    NAME: ubuntu
+3 −2
Original line number Diff line number Diff line
docker-edk2:
 stage: build
 stage: containers
 rules: # Only run this job when the Dockerfile is modified
 - changes:
   - .gitlab-ci-edk2.yml
   - .gitlab-ci.d/edk2.yml
   - .gitlab-ci.d/edk2/Dockerfile
   when: always
 image: docker:19.03.1
@@ -24,6 +24,7 @@ docker-edk2:
 - docker push $IMAGE_TAG

build-edk2:
 stage: build
 rules: # Only run this job when ...
 - changes: # ... roms/edk2/ is modified (submodule updated)
   - roms/edk2/*
+3 −2
Original line number Diff line number Diff line
docker-opensbi:
 stage: build
 stage: containers
 rules: # Only run this job when the Dockerfile is modified
 - changes:
   - .gitlab-ci-opensbi.yml
   - .gitlab-ci.d/opensbi.yml
   - .gitlab-ci.d/opensbi/Dockerfile
   when: always
 image: docker:19.03.1
@@ -24,6 +24,7 @@ docker-opensbi:
 - docker push $IMAGE_TAG

build-opensbi:
 stage: build
 rules: # Only run this job when ...
 - changes: # ... roms/opensbi/ is modified (submodule updated)
   - roms/opensbi/*
Loading