1# All ubuntu-20.04 jobs should run successfully in an environment
2# setup by the scripts/ci/setup/build-environment.yml task
3# "Install basic packages to build QEMU on Ubuntu 20.04/20.04"
4
5ubuntu-20.04-s390x-all-linux-static:
6 extends: .custom_runner_template
7 needs: []
8 stage: build
9 tags:
10 - ubuntu_20.04
11 - s390x
12 rules:
13 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
14 - if: "$S390X_RUNNER_AVAILABLE"
15 script:
16 # --disable-libssh is needed because of https://bugs.launchpad.net/qemu/+bug/1838763
17 # --disable-glusterfs is needed because there's no static version of those libs in distro supplied packages
18 - mkdir build
19 - cd build
20 - ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh
21   || { cat config.log meson-logs/meson-log.txt; exit 1; }
22 - make --output-sync -j`nproc`
23 - make --output-sync check-tcg
24 - make --output-sync -j`nproc` check
25
26ubuntu-20.04-s390x-all:
27 extends: .custom_runner_template
28 needs: []
29 stage: build
30 tags:
31 - ubuntu_20.04
32 - s390x
33 timeout: 75m
34 rules:
35 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
36 - if: "$S390X_RUNNER_AVAILABLE"
37 script:
38 - mkdir build
39 - cd build
40 - ../configure --disable-libssh
41   || { cat config.log meson-logs/meson-log.txt; exit 1; }
42 - make --output-sync -j`nproc`
43 - make --output-sync -j`nproc` check
44
45ubuntu-20.04-s390x-alldbg:
46 extends: .custom_runner_template
47 needs: []
48 stage: build
49 tags:
50 - ubuntu_20.04
51 - s390x
52 rules:
53 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
54   when: manual
55   allow_failure: true
56 - if: "$S390X_RUNNER_AVAILABLE"
57   when: manual
58   allow_failure: true
59 script:
60 - mkdir build
61 - cd build
62 - ../configure --enable-debug --disable-libssh
63   || { cat config.log meson-logs/meson-log.txt; exit 1; }
64 - make clean
65 - make --output-sync -j`nproc`
66 - make --output-sync -j`nproc` check
67
68ubuntu-20.04-s390x-clang:
69 extends: .custom_runner_template
70 needs: []
71 stage: build
72 tags:
73 - ubuntu_20.04
74 - s390x
75 rules:
76 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
77   when: manual
78   allow_failure: true
79 - if: "$S390X_RUNNER_AVAILABLE"
80   when: manual
81   allow_failure: true
82 script:
83 - mkdir build
84 - cd build
85 - ../configure --disable-libssh --cc=clang --cxx=clang++ --enable-sanitizers
86   || { cat config.log meson-logs/meson-log.txt; exit 1; }
87 - make --output-sync -j`nproc`
88 - make --output-sync -j`nproc` check
89
90ubuntu-20.04-s390x-tci:
91 needs: []
92 stage: build
93 tags:
94 - ubuntu_20.04
95 - s390x
96 rules:
97 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
98   when: manual
99   allow_failure: true
100 - if: "$S390X_RUNNER_AVAILABLE"
101   when: manual
102   allow_failure: true
103 script:
104 - mkdir build
105 - cd build
106 - ../configure --disable-libssh --enable-tcg-interpreter
107   || { cat config.log meson-logs/meson-log.txt; exit 1; }
108 - make --output-sync -j`nproc`
109
110ubuntu-20.04-s390x-notcg:
111 extends: .custom_runner_template
112 needs: []
113 stage: build
114 tags:
115 - ubuntu_20.04
116 - s390x
117 rules:
118 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
119   when: manual
120   allow_failure: true
121 - if: "$S390X_RUNNER_AVAILABLE"
122   when: manual
123   allow_failure: true
124 script:
125 - mkdir build
126 - cd build
127 - ../configure --disable-libssh --disable-tcg
128   || { cat config.log meson-logs/meson-log.txt; exit 1; }
129 - make --output-sync -j`nproc`
130 - make --output-sync -j`nproc` check
131