Skip to content

Commit 9f526fc

Browse files
committed
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) <[email protected]>" [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: Peter Maydell <[email protected]>
2 parents d344983 + 4a40f56 commit 9f526fc

File tree

76 files changed

+2034
-448
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+2034
-448
lines changed

.cirrus.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ macos_task:
2020
osx_instance:
2121
image: mojave-base
2222
install_script:
23-
- brew install pkg-config python gnu-sed glib pixman make sdl2
23+
- brew install pkg-config python gnu-sed glib pixman make sdl2 bash
2424
script:
2525
- mkdir build
2626
- cd build
@@ -33,7 +33,7 @@ macos_xcode_task:
3333
# this is an alias for the latest Xcode
3434
image: mojave-xcode
3535
install_script:
36-
- brew install pkg-config gnu-sed glib pixman make sdl2
36+
- brew install pkg-config gnu-sed glib pixman make sdl2 bash
3737
script:
3838
- mkdir build
3939
- cd build

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@
9393
*.tp
9494
*.vr
9595
*.d
96+
!/.gitlab-ci.d
9697
!/scripts/qemu-guest-agent/fsfreeze-hook.d
9798
*.o
9899
.sdk

.gitlab-ci.d/containers.yml

Lines changed: 263 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,263 @@
1+
.container_job_template: &container_job_definition
2+
image: docker:stable
3+
stage: containers
4+
services:
5+
- docker:dind
6+
before_script:
7+
- export TAG="$CI_REGISTRY_IMAGE/qemu/$NAME:latest"
8+
- export COMMON_TAG="$CI_REGISTRY/qemu-project/qemu/$NAME:latest"
9+
- apk add python3
10+
- docker info
11+
- docker login registry.gitlab.com -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD"
12+
script:
13+
- echo "TAG:$TAG"
14+
- echo "COMMON_TAG:$COMMON_TAG"
15+
- docker pull "$TAG" || docker pull "$COMMON_TAG" || true
16+
- ./tests/docker/docker.py --engine docker build
17+
-t "qemu/$NAME" -f "tests/docker/dockerfiles/$NAME.docker"
18+
-r $CI_REGISTRY_IMAGE
19+
- docker tag "qemu/$NAME" "$TAG"
20+
- docker push "$TAG"
21+
after_script:
22+
- docker logout
23+
rules:
24+
- changes:
25+
- .gitlab-ci.d/containers.yml
26+
- tests/docker/*
27+
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
28+
- if: '$CI_COMMIT_REF_NAME == "testing/next"'
29+
30+
amd64-centos7-container:
31+
<<: *container_job_definition
32+
variables:
33+
NAME: centos7
34+
35+
amd64-centos8-container:
36+
<<: *container_job_definition
37+
variables:
38+
NAME: centos8
39+
40+
amd64-debian10-container:
41+
<<: *container_job_definition
42+
variables:
43+
NAME: debian10
44+
45+
amd64-debian11-container:
46+
<<: *container_job_definition
47+
variables:
48+
NAME: debian11
49+
50+
amd64-debian9-container:
51+
<<: *container_job_definition
52+
variables:
53+
NAME: debian9
54+
55+
amd64-debian9-mxe-container:
56+
<<: *container_job_definition
57+
stage: containers-layer2
58+
needs: ['amd64-debian9-container']
59+
variables:
60+
NAME: debian9-mxe
61+
62+
alpha-debian-cross-container:
63+
<<: *container_job_definition
64+
stage: containers-layer2
65+
needs: ['amd64-debian10-container']
66+
variables:
67+
NAME: debian-alpha-cross
68+
69+
amd64-debian-cross-container:
70+
<<: *container_job_definition
71+
stage: containers-layer2
72+
needs: ['amd64-debian10-container']
73+
variables:
74+
NAME: debian-amd64-cross
75+
76+
amd64-debian-user-cross-container:
77+
<<: *container_job_definition
78+
stage: containers-layer2
79+
needs: ['amd64-debian10-container']
80+
variables:
81+
NAME: debian-all-test-cross
82+
83+
amd64-debian-container:
84+
<<: *container_job_definition
85+
stage: containers-layer2
86+
needs: ['amd64-debian10-container']
87+
variables:
88+
NAME: debian-amd64
89+
90+
arm64-debian-cross-container:
91+
<<: *container_job_definition
92+
stage: containers-layer2
93+
needs: ['amd64-debian10-container']
94+
variables:
95+
NAME: debian-arm64-cross
96+
97+
arm64-test-debian-cross-container:
98+
<<: *container_job_definition
99+
stage: containers-layer2
100+
needs: ['amd64-debian11-container']
101+
variables:
102+
NAME: debian-arm64-test-cross
103+
104+
armel-debian-cross-container:
105+
<<: *container_job_definition
106+
stage: containers-layer2
107+
needs: ['amd64-debian10-container']
108+
variables:
109+
NAME: debian-armel-cross
110+
111+
armhf-debian-cross-container:
112+
<<: *container_job_definition
113+
stage: containers-layer2
114+
needs: ['amd64-debian10-container']
115+
variables:
116+
NAME: debian-armhf-cross
117+
118+
hppa-debian-cross-container:
119+
<<: *container_job_definition
120+
stage: containers-layer2
121+
needs: ['amd64-debian10-container']
122+
variables:
123+
NAME: debian-hppa-cross
124+
125+
m68k-debian-cross-container:
126+
<<: *container_job_definition
127+
stage: containers-layer2
128+
needs: ['amd64-debian10-container']
129+
variables:
130+
NAME: debian-m68k-cross
131+
132+
mips64-debian-cross-container:
133+
<<: *container_job_definition
134+
stage: containers-layer2
135+
needs: ['amd64-debian10-container']
136+
variables:
137+
NAME: debian-mips64-cross
138+
139+
mips64el-debian-cross-container:
140+
<<: *container_job_definition
141+
stage: containers-layer2
142+
needs: ['amd64-debian10-container']
143+
variables:
144+
NAME: debian-mips64el-cross
145+
146+
mips-debian-cross-container:
147+
<<: *container_job_definition
148+
stage: containers-layer2
149+
needs: ['amd64-debian10-container']
150+
variables:
151+
NAME: debian-mips-cross
152+
153+
mipsel-debian-cross-container:
154+
<<: *container_job_definition
155+
stage: containers-layer2
156+
needs: ['amd64-debian10-container']
157+
variables:
158+
NAME: debian-mipsel-cross
159+
160+
powerpc-debian-cross-container:
161+
<<: *container_job_definition
162+
stage: containers-layer2
163+
needs: ['amd64-debian10-container']
164+
variables:
165+
NAME: debian-powerpc-cross
166+
167+
ppc64-debian-cross-container:
168+
<<: *container_job_definition
169+
stage: containers-layer2
170+
needs: ['amd64-debian10-container']
171+
variables:
172+
NAME: debian-ppc64-cross
173+
174+
ppc64el-debian-cross-container:
175+
<<: *container_job_definition
176+
stage: containers-layer2
177+
needs: ['amd64-debian10-container']
178+
variables:
179+
NAME: debian-ppc64el-cross
180+
181+
riscv64-debian-cross-container:
182+
<<: *container_job_definition
183+
stage: containers-layer2
184+
needs: ['amd64-debian10-container']
185+
variables:
186+
NAME: debian-riscv64-cross
187+
188+
s390x-debian-cross-container:
189+
<<: *container_job_definition
190+
stage: containers-layer2
191+
needs: ['amd64-debian10-container']
192+
variables:
193+
NAME: debian-s390x-cross
194+
195+
sh4-debian-cross-container:
196+
<<: *container_job_definition
197+
stage: containers-layer2
198+
needs: ['amd64-debian10-container']
199+
variables:
200+
NAME: debian-sh4-cross
201+
202+
sparc64-debian-cross-container:
203+
<<: *container_job_definition
204+
stage: containers-layer2
205+
needs: ['amd64-debian10-container']
206+
variables:
207+
NAME: debian-sparc64-cross
208+
209+
tricore-debian-cross-container:
210+
<<: *container_job_definition
211+
stage: containers-layer2
212+
needs: ['amd64-debian9-container']
213+
variables:
214+
NAME: debian-tricore-cross
215+
216+
win32-debian-cross-container:
217+
<<: *container_job_definition
218+
stage: containers-layer3
219+
needs: ['amd64-debian9-mxe-container']
220+
variables:
221+
NAME: debian-win32-cross
222+
223+
win64-debian-cross-container:
224+
<<: *container_job_definition
225+
stage: containers-layer3
226+
needs: ['amd64-debian9-mxe-container']
227+
variables:
228+
NAME: debian-win64-cross
229+
230+
xtensa-debian-cross-container:
231+
<<: *container_job_definition
232+
variables:
233+
NAME: debian-xtensa-cross
234+
235+
cris-fedora-cross-container:
236+
<<: *container_job_definition
237+
variables:
238+
NAME: fedora-cris-cross
239+
240+
amd64-fedora-container:
241+
<<: *container_job_definition
242+
variables:
243+
NAME: fedora
244+
245+
i386-fedora-cross-container:
246+
<<: *container_job_definition
247+
variables:
248+
NAME: fedora-i386-cross
249+
250+
amd64-ubuntu1804-container:
251+
<<: *container_job_definition
252+
variables:
253+
NAME: ubuntu1804
254+
255+
amd64-ubuntu2004-container:
256+
<<: *container_job_definition
257+
variables:
258+
NAME: ubuntu2004
259+
260+
amd64-ubuntu-container:
261+
<<: *container_job_definition
262+
variables:
263+
NAME: ubuntu

.gitlab-ci.d/edk2.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
docker-edk2:
2-
stage: build
2+
stage: containers
33
rules: # Only run this job when the Dockerfile is modified
44
- changes:
5-
- .gitlab-ci-edk2.yml
5+
- .gitlab-ci.d/edk2.yml
66
- .gitlab-ci.d/edk2/Dockerfile
77
when: always
88
image: docker:19.03.1
@@ -24,6 +24,7 @@ docker-edk2:
2424
- docker push $IMAGE_TAG
2525

2626
build-edk2:
27+
stage: build
2728
rules: # Only run this job when ...
2829
- changes: # ... roms/edk2/ is modified (submodule updated)
2930
- roms/edk2/*

.gitlab-ci.d/opensbi.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
docker-opensbi:
2-
stage: build
2+
stage: containers
33
rules: # Only run this job when the Dockerfile is modified
44
- changes:
5-
- .gitlab-ci-opensbi.yml
5+
- .gitlab-ci.d/opensbi.yml
66
- .gitlab-ci.d/opensbi/Dockerfile
77
when: always
88
image: docker:19.03.1
@@ -24,6 +24,7 @@ docker-opensbi:
2424
- docker push $IMAGE_TAG
2525

2626
build-opensbi:
27+
stage: build
2728
rules: # Only run this job when ...
2829
- changes: # ... roms/opensbi/ is modified (submodule updated)
2930
- roms/opensbi/*

0 commit comments

Comments
 (0)