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