hw/registerfields: Use 64-bit bitfield for FIELD_DP64
[qemu/ar7.git] / .gitlab-ci.d / custom-runners.yml
blob564b94565dc693a5459fabe2540d4122c958c1bd
1 # The CI jobs defined here require GitLab runners installed and
2 # registered on machines that match their operating system names,
3 # versions and architectures.  This is in contrast to the other CI
4 # jobs that are intended to run on GitLab's "shared" runners.
6 # Different than the default approach on "shared" runners, based on
7 # containers, the custom runners have no such *requirement*, as those
8 # jobs should be capable of running on operating systems with no
9 # compatible container implementation, or no support from
10 # gitlab-runner.  To avoid problems that gitlab-runner can cause while
11 # reusing the GIT repository, let's enable the clone strategy, which
12 # guarantees a fresh repository on each job run.
13 variables:
14   GIT_STRATEGY: clone
16 # All ubuntu-18.04 jobs should run successfully in an environment
17 # setup by the scripts/ci/setup/build-environment.yml task
18 # "Install basic packages to build QEMU on Ubuntu 18.04/20.04"
19 ubuntu-18.04-s390x-all-linux-static:
20  allow_failure: true
21  needs: []
22  stage: build
23  tags:
24  - ubuntu_18.04
25  - s390x
26  rules:
27  - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
28  - if: "$S390X_RUNNER_AVAILABLE"
29  script:
30  # --disable-libssh is needed because of https://bugs.launchpad.net/qemu/+bug/1838763
31  # --disable-glusterfs is needed because there's no static version of those libs in distro supplied packages
32  - mkdir build
33  - cd build
34  - ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh
35  - make --output-sync -j`nproc`
36  - make --output-sync -j`nproc` check V=1
37  - make --output-sync -j`nproc` check-tcg V=1
39 ubuntu-18.04-s390x-all:
40  allow_failure: true
41  needs: []
42  stage: build
43  tags:
44  - ubuntu_18.04
45  - s390x
46  rules:
47  - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
48  - if: "$S390X_RUNNER_AVAILABLE"
49  script:
50  - mkdir build
51  - cd build
52  - ../configure --disable-libssh
53  - make --output-sync -j`nproc`
54  - make --output-sync -j`nproc` check V=1
56 ubuntu-18.04-s390x-alldbg:
57  allow_failure: true
58  needs: []
59  stage: build
60  tags:
61  - ubuntu_18.04
62  - s390x
63  rules:
64  - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
65  - if: "$S390X_RUNNER_AVAILABLE"
66  script:
67  - mkdir build
68  - cd build
69  - ../configure --enable-debug --disable-libssh
70  - make clean
71  - make --output-sync -j`nproc`
72  - make --output-sync -j`nproc` check V=1
74 ubuntu-18.04-s390x-clang:
75  allow_failure: true
76  needs: []
77  stage: build
78  tags:
79  - ubuntu_18.04
80  - s390x
81  rules:
82  - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
83    when: manual
84  - if: "$S390X_RUNNER_AVAILABLE"
85    when: manual
86  script:
87  - mkdir build
88  - cd build
89  - ../configure --disable-libssh --cc=clang --cxx=clang++ --enable-sanitizers
90  - make --output-sync -j`nproc`
91  - make --output-sync -j`nproc` check V=1
93 ubuntu-18.04-s390x-tci:
94  allow_failure: true
95  needs: []
96  stage: build
97  tags:
98  - ubuntu_18.04
99  - s390x
100  rules:
101  - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
102  - if: "$S390X_RUNNER_AVAILABLE"
103  script:
104  - mkdir build
105  - cd build
106  - ../configure --disable-libssh --enable-tcg-interpreter
107  - make --output-sync -j`nproc`
109 ubuntu-18.04-s390x-notcg:
110  allow_failure: true
111  needs: []
112  stage: build
113  tags:
114  - ubuntu_18.04
115  - s390x
116  rules:
117  - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
118    when: manual
119  - if: "$S390X_RUNNER_AVAILABLE"
120    when: manual
121  script:
122  - mkdir build
123  - cd build
124  - ../configure --disable-libssh --disable-tcg
125  - make --output-sync -j`nproc`
126  - make --output-sync -j`nproc` check V=1
128 # All ubuntu-20.04 jobs should run successfully in an environment
129 # setup by the scripts/ci/setup/qemu/build-environment.yml task
130 # "Install basic packages to build QEMU on Ubuntu 18.04/20.04"
131 ubuntu-20.04-aarch64-all-linux-static:
132  allow_failure: true
133  needs: []
134  stage: build
135  tags:
136  - ubuntu_20.04
137  - aarch64
138  rules:
139  - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
140  - if: "$S390X_RUNNER_AVAILABLE"
141  script:
142  # --disable-libssh is needed because of https://bugs.launchpad.net/qemu/+bug/1838763
143  # --disable-glusterfs is needed because there's no static version of those libs in distro supplied packages
144  - mkdir build
145  - cd build
146  - ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh
147  - make --output-sync -j`nproc`
148  - make --output-sync -j`nproc` check V=1
149  - make --output-sync -j`nproc` check-tcg V=1
151 ubuntu-20.04-aarch64-all:
152  allow_failure: true
153  needs: []
154  stage: build
155  tags:
156  - ubuntu_20.04
157  - aarch64
158  rules:
159  - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
160  - if: "$S390X_RUNNER_AVAILABLE"
161  script:
162  - mkdir build
163  - cd build
164  - ../configure --disable-libssh
165  - make --output-sync -j`nproc`
166  - make --output-sync -j`nproc` check V=1
168 ubuntu-20.04-aarch64-alldbg:
169  allow_failure: true
170  needs: []
171  stage: build
172  tags:
173  - ubuntu_20.04
174  - aarch64
175  rules:
176  - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
177  - if: "$S390X_RUNNER_AVAILABLE"
178  script:
179  - mkdir build
180  - cd build
181  - ../configure --enable-debug --disable-libssh
182  - make clean
183  - make --output-sync -j`nproc`
184  - make --output-sync -j`nproc` check V=1
186 ubuntu-20.04-aarch64-clang:
187  allow_failure: true
188  needs: []
189  stage: build
190  tags:
191  - ubuntu_20.04
192  - aarch64
193  rules:
194  - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
195    when: manual
196  - if: "$S390X_RUNNER_AVAILABLE"
197    when: manual
198  script:
199  - mkdir build
200  - cd build
201  - ../configure --disable-libssh --cc=clang-10 --cxx=clang++-10 --enable-sanitizers
202  - make --output-sync -j`nproc`
203  - make --output-sync -j`nproc` check V=1
205 ubuntu-20.04-aarch64-tci:
206  allow_failure: true
207  needs: []
208  stage: build
209  tags:
210  - ubuntu_20.04
211  - aarch64
212  rules:
213  - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
214  - if: "$S390X_RUNNER_AVAILABLE"
215  script:
216  - mkdir build
217  - cd build
218  - ../configure --disable-libssh --enable-tcg-interpreter
219  - make --output-sync -j`nproc`
221 ubuntu-20.04-aarch64-notcg:
222  allow_failure: true
223  needs: []
224  stage: build
225  tags:
226  - ubuntu_20.04
227  - aarch64
228  rules:
229  - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
230    when: manual
231  - if: "$S390X_RUNNER_AVAILABLE"
232    when: manual
233  script:
234  - mkdir build
235  - cd build
236  - ../configure --disable-libssh --disable-tcg
237  - make --output-sync -j`nproc`
238  - make --output-sync -j`nproc` check V=1