aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml
blob: ce0b18af6f1ded7632c60379039655870b713151 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# All ubuntu-20.04 jobs should run successfully in an environment
# setup by the scripts/ci/setup/qemu/build-environment.yml task
# "Install basic packages to build QEMU on Ubuntu 20.04"

ubuntu-22.04-aarch64-all-linux-static:
 needs: []
 stage: build
 tags:
 - ubuntu_22.04
 - aarch64
 rules:
 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
 - if: "$AARCH64_RUNNER_AVAILABLE"
 script:
 - mkdir build
 - cd build
 # Disable -static-pie due to build error with system libc:
 # https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1987438
 - ../configure --enable-debug --static --disable-system --disable-pie
   || { cat config.log meson-logs/meson-log.txt; exit 1; }
 - make --output-sync -j`nproc --ignore=40`
 - make --output-sync -j`nproc --ignore=40` check V=1
   || { cat meson-logs/testlog.txt; exit 1; } ;
 - make --output-sync -j`nproc --ignore=40` check-tcg V=1
   || { cat meson-logs/testlog.txt; exit 1; } ;

ubuntu-22.04-aarch64-all:
 needs: []
 stage: build
 tags:
 - ubuntu_22.04
 - aarch64
 rules:
 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
   when: manual
   allow_failure: true
 - if: "$AARCH64_RUNNER_AVAILABLE"
   when: manual
   allow_failure: true
 script:
 - mkdir build
 - cd build
 - ../configure
   || { cat config.log meson-logs/meson-log.txt; exit 1; }
 - make --output-sync -j`nproc --ignore=40`
 - make --output-sync -j`nproc --ignore=40` check V=1
   || { cat meson-logs/testlog.txt; exit 1; } ;

ubuntu-22.04-aarch64-alldbg:
 needs: []
 stage: build
 tags:
 - ubuntu_22.04
 - aarch64
 rules:
 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
 - if: "$AARCH64_RUNNER_AVAILABLE"
 script:
 - mkdir build
 - cd build
 - ../configure --enable-debug
   || { cat config.log meson-logs/meson-log.txt; exit 1; }
 - make clean
 - make --output-sync -j`nproc --ignore=40`
 - make --output-sync -j`nproc --ignore=40` check V=1
   || { cat meson-logs/testlog.txt; exit 1; } ;

ubuntu-22.04-aarch64-clang:
 needs: []
 stage: build
 tags:
 - ubuntu_22.04
 - aarch64
 rules:
 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
   when: manual
   allow_failure: true
 - if: "$AARCH64_RUNNER_AVAILABLE"
   when: manual
   allow_failure: true
 script:
 - mkdir build
 - cd build
 - ../configure --disable-libssh --cc=clang-10 --cxx=clang++-10 --enable-sanitizers
   || { cat config.log meson-logs/meson-log.txt; exit 1; }
 - make --output-sync -j`nproc --ignore=40`
 - make --output-sync -j`nproc --ignore=40` check V=1
   || { cat meson-logs/testlog.txt; exit 1; } ;

ubuntu-22.04-aarch64-tci:
 needs: []
 stage: build
 tags:
 - ubuntu_22.04
 - aarch64
 rules:
 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
   when: manual
   allow_failure: true
 - if: "$AARCH64_RUNNER_AVAILABLE"
   when: manual
   allow_failure: true
 script:
 - mkdir build
 - cd build
 - ../configure --enable-tcg-interpreter
   || { cat config.log meson-logs/meson-log.txt; exit 1; }
 - make --output-sync -j`nproc --ignore=40`

ubuntu-22.04-aarch64-notcg:
 needs: []
 stage: build
 tags:
 - ubuntu_22.04
 - aarch64
 rules:
 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
   when: manual
   allow_failure: true
 - if: "$AARCH64_RUNNER_AVAILABLE"
   when: manual
   allow_failure: true
 script:
 - mkdir build
 - cd build
 - ../configure --disable-tcg
   || { cat config.log meson-logs/meson-log.txt; exit 1; }
 - make --output-sync -j`nproc --ignore=40`
 - make --output-sync -j`nproc --ignore=40` check V=1
   || { cat meson-logs/testlog.txt; exit 1; } ;