blob: ca2f1404710e3c77295e1693238fc3136dd155a7 [file] [log] [blame]
Alex Bennéec1924cd2023-05-02 16:54:54 +01001# All ubuntu-22.04 jobs should run successfully in an environment
Alex Bennée0eb7fad2024-06-03 18:53:22 +01002# setup by the scripts/ci/setup/ubuntu/build-environment.yml task
Alex Bennéec1924cd2023-05-02 16:54:54 +01003# "Install basic packages to build QEMU on Ubuntu 22.04"
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +00004
Alex Bennée66dca262022-09-14 16:59:40 +01005ubuntu-22.04-aarch64-all-linux-static:
Alex Bennée87168ef2023-02-28 19:06:35 +00006 extends: .custom_runner_template
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +00007 needs: []
8 stage: build
9 tags:
Alex Bennée66dca262022-09-14 16:59:40 +010010 - ubuntu_22.04
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +000011 - aarch64
12 rules:
13 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
14 - if: "$AARCH64_RUNNER_AVAILABLE"
15 script:
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +000016 - mkdir build
17 - cd build
Richard Henderson45e1b742022-09-14 16:59:39 +010018 # Disable -static-pie due to build error with system libc:
19 # https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1987438
Alex Bennée66dca262022-09-14 16:59:40 +010020 - ../configure --enable-debug --static --disable-system --disable-pie
Daniel P. Berrangé998f3342022-07-25 15:05:09 +010021 || { cat config.log meson-logs/meson-log.txt; exit 1; }
Alex Bennéeb56d1ee2022-06-13 18:12:58 +010022 - make --output-sync -j`nproc --ignore=40`
Alex Bennée6e890b02023-01-24 18:01:09 +000023 - make check-tcg
Alex Bennéefb83fd32022-12-21 09:04:07 +000024 - make --output-sync -j`nproc --ignore=40` check
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +000025
Alex Bennée66dca262022-09-14 16:59:40 +010026ubuntu-22.04-aarch64-all:
Alex Bennée87168ef2023-02-28 19:06:35 +000027 extends: .custom_runner_template
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +000028 needs: []
29 stage: build
30 tags:
Alex Bennée66dca262022-09-14 16:59:40 +010031 - ubuntu_22.04
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +000032 - 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
Alex Bennée66dca262022-09-14 16:59:40 +010043 - ../configure
Daniel P. Berrangé998f3342022-07-25 15:05:09 +010044 || { cat config.log meson-logs/meson-log.txt; exit 1; }
Alex Bennéeb56d1ee2022-06-13 18:12:58 +010045 - make --output-sync -j`nproc --ignore=40`
Alex Bennéefb83fd32022-12-21 09:04:07 +000046 - make --output-sync -j`nproc --ignore=40` check
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +000047
Alex Bennéeeb8d4132023-05-02 16:59:17 +010048ubuntu-22.04-aarch64-without-defaults:
49 extends: .custom_runner_template
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 when: manual
58 allow_failure: true
59 - if: "$AARCH64_RUNNER_AVAILABLE"
60 when: manual
61 allow_failure: true
62 script:
63 - mkdir build
64 - cd build
65 - ../configure --disable-user --without-default-devices --without-default-features
66 || { cat config.log meson-logs/meson-log.txt; exit 1; }
67 - make --output-sync -j`nproc --ignore=40`
68 - make --output-sync -j`nproc --ignore=40` check
69
Alex Bennée66dca262022-09-14 16:59:40 +010070ubuntu-22.04-aarch64-alldbg:
Alex Bennée87168ef2023-02-28 19:06:35 +000071 extends: .custom_runner_template
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +000072 needs: []
73 stage: build
74 tags:
Alex Bennée66dca262022-09-14 16:59:40 +010075 - ubuntu_22.04
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +000076 - aarch64
77 rules:
78 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
79 - if: "$AARCH64_RUNNER_AVAILABLE"
80 script:
81 - mkdir build
82 - cd build
Alex Bennée66dca262022-09-14 16:59:40 +010083 - ../configure --enable-debug
Daniel P. Berrangé998f3342022-07-25 15:05:09 +010084 || { cat config.log meson-logs/meson-log.txt; exit 1; }
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +000085 - make clean
Alex Bennéeb56d1ee2022-06-13 18:12:58 +010086 - make --output-sync -j`nproc --ignore=40`
Alex Bennéefb83fd32022-12-21 09:04:07 +000087 - make --output-sync -j`nproc --ignore=40` check
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +000088
Alex Bennée66dca262022-09-14 16:59:40 +010089ubuntu-22.04-aarch64-clang:
Alex Bennée87168ef2023-02-28 19:06:35 +000090 extends: .custom_runner_template
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +000091 needs: []
92 stage: build
93 tags:
Alex Bennée66dca262022-09-14 16:59:40 +010094 - ubuntu_22.04
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +000095 - 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
Richard Hendersoncb771ac2024-08-13 19:52:15 +1000106 - ../configure --disable-libssh --cc=clang --cxx=clang++ --enable-ubsan
Daniel P. Berrangé998f3342022-07-25 15:05:09 +0100107 || { cat config.log meson-logs/meson-log.txt; exit 1; }
Alex Bennéeb56d1ee2022-06-13 18:12:58 +0100108 - make --output-sync -j`nproc --ignore=40`
Alex Bennéefb83fd32022-12-21 09:04:07 +0000109 - make --output-sync -j`nproc --ignore=40` check
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +0000110
Alex Bennée66dca262022-09-14 16:59:40 +0100111ubuntu-22.04-aarch64-tci:
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +0000112 needs: []
113 stage: build
114 tags:
Alex Bennée66dca262022-09-14 16:59:40 +0100115 - ubuntu_22.04
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +0000116 - aarch64
117 rules:
118 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
119 when: manual
120 allow_failure: true
121 - if: "$AARCH64_RUNNER_AVAILABLE"
122 when: manual
123 allow_failure: true
124 script:
125 - mkdir build
126 - cd build
Alex Bennée66dca262022-09-14 16:59:40 +0100127 - ../configure --enable-tcg-interpreter
Daniel P. Berrangé998f3342022-07-25 15:05:09 +0100128 || { cat config.log meson-logs/meson-log.txt; exit 1; }
Alex Bennéeb56d1ee2022-06-13 18:12:58 +0100129 - make --output-sync -j`nproc --ignore=40`
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +0000130
Alex Bennée66dca262022-09-14 16:59:40 +0100131ubuntu-22.04-aarch64-notcg:
Alex Bennée87168ef2023-02-28 19:06:35 +0000132 extends: .custom_runner_template
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +0000133 needs: []
134 stage: build
135 tags:
Alex Bennée66dca262022-09-14 16:59:40 +0100136 - ubuntu_22.04
Philippe Mathieu-Daudé60bec832021-11-15 14:29:15 +0000137 - aarch64
138 rules:
139 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
140 when: manual
141 allow_failure: true
142 - if: "$AARCH64_RUNNER_AVAILABLE"
143 when: manual
144 allow_failure: true
145 script:
146 - mkdir build
147 - cd build
Alex Bennée2cf72cb52023-05-02 17:20:46 +0100148 - ../configure --disable-tcg --with-devices-aarch64=minimal
Daniel P. Berrangé998f3342022-07-25 15:05:09 +0100149 || { cat config.log meson-logs/meson-log.txt; exit 1; }
Alex Bennéeb56d1ee2022-06-13 18:12:58 +0100150 - make --output-sync -j`nproc --ignore=40`
Alex Bennéefb83fd32022-12-21 09:04:07 +0000151 - make --output-sync -j`nproc --ignore=40` check