Skip to content

Commit 41e9f3d

Browse files
authored
Merge pull request #8613 from tautschnig/no-20.04
CI: Remove use of Ubuntu 20.04
2 parents fab6710 + 32d6835 commit 41e9f3d

29 files changed

+172
-173
lines changed

.github/workflows/README.md

+9-6
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,22 @@ The files in this folder correspond to:
2525

2626
We are currently building and testing CBMC under the following configurations:
2727

28-
* `make` * `gcc` * `linux` (ubuntu 20.04)
29-
* `make` * `clang` * `linux` (ubuntu 20.04)
30-
* `cmake` * `gcc` * `linux` (ubuntu 20.04)
31-
* `make` * `clang` * `macos` (10.15)
32-
* `cmake` * `clang` * `macos` (10.15)
28+
* `make` * `gcc` * `linux` (ubuntu 24.04)
29+
* `make` * `clang` * `linux` (ubuntu 22.04, 24.04)
30+
* `cmake` * `gcc` * `linux` (ubuntu 22.04, 24.04)
31+
* `cmake` * `gcc-14` * `linux` (ubuntu 24.04)
32+
* `cmake` * `gcc` * `linux` (ubuntu 22.04 32-bit)
33+
* `make` * `clang` * `macos` (13)
34+
* `cmake` * `clang` * `macos` (14)
3335
* `cmake` * `vs` * `windows` (vs2019)
36+
* `make` * `vs` * `windows` (vs2022)
3437

3538
Aside from the main platform builds for testing, we are also performing
3639
some auxiliary builds that test packaging support to be up-to-date. We
3740
do that for:
3841

3942
* a `docker` image
40-
* an `ubuntu-20.04` package
43+
* a `ubuntu-24.04` package
4144
* a `windows-msi` installer package
4245

4346
Last but not least, we are also performing a coverage statistics collection

.github/workflows/build-and-test-Linux.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
jobs:
99
# This job takes approximately 18 minutes
1010
CompileLinux:
11-
runs-on: ubuntu-20.04
11+
runs-on: ubuntu-24.04
1212
steps:
1313
- uses: actions/checkout@v4
1414
with:
@@ -20,7 +20,7 @@ jobs:
2020
DEBIAN_FRONTEND: noninteractive
2121
run: |
2222
sudo apt-get update
23-
sudo apt-get install --no-install-recommends -y clang-10 clang++-10 flex bison cmake ninja-build maven jq libxml2-utils dpkg-dev ccache
23+
sudo apt-get install --no-install-recommends -y clang-19 clang++-19 flex bison cmake ninja-build maven jq libxml2-utils dpkg-dev ccache
2424
sudo apt-get install --no-install-recommends -y libssl-dev libelf-dev libudev-dev libpci-dev libiberty-dev autoconf
2525
sudo apt-get install --no-install-recommends -y gawk jq
2626
@@ -29,10 +29,10 @@ jobs:
2929
with:
3030
save-always: true
3131
path: .ccache
32-
key: ${{ runner.os }}-20.04-make-clang-${{ github.ref }}-${{ github.sha }}-KERNEL
32+
key: ${{ runner.os }}-24.04-make-clang-${{ github.ref }}-${{ github.sha }}-KERNEL
3333
restore-keys: |
34-
${{ runner.os }}-20.04-make-clang-${{ github.ref }}
35-
${{ runner.os }}-20.04-make-clang
34+
${{ runner.os }}-24.04-make-clang-${{ github.ref }}
35+
${{ runner.os }}-24.04-make-clang
3636
- name: ccache environment
3737
run: |
3838
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV

.github/workflows/build-and-test-Xen.yaml

+7-7
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
jobs:
88
# This job takes approximately 33 minutes
99
CompileXen:
10-
runs-on: ubuntu-20.04
10+
runs-on: ubuntu-24.04
1111
steps:
1212
- uses: actions/checkout@v4
1313
with:
@@ -19,19 +19,19 @@ jobs:
1919
DEBIAN_FRONTEND: noninteractive
2020
run: |
2121
sudo apt-get update
22-
sudo apt-get install --no-install-recommends -y build-essential git flex bison software-properties-common curl python
23-
sudo apt-get install --no-install-recommends -y bin86 gdb bcc liblzma-dev python-dev gettext iasl uuid-dev libncurses5-dev libncursesw5-dev pkg-config
24-
sudo apt-get install --no-install-recommends -y libgtk2.0-dev libyajl-dev time ccache clang-10 clang++-10
22+
sudo apt-get install --no-install-recommends -y build-essential git flex bison software-properties-common curl python3
23+
sudo apt-get install --no-install-recommends -y bin86 gdb bcc liblzma-dev python3-dev gettext iasl uuid-dev libncurses5-dev libncursesw5-dev pkg-config
24+
sudo apt-get install --no-install-recommends -y libgtk2.0-dev libyajl-dev time ccache clang-19 clang++-19
2525
2626
- name: Prepare ccache
2727
uses: actions/cache@v4
2828
with:
2929
save-always: true
3030
path: .ccache
31-
key: ${{ runner.os }}-20.04-make-clang-${{ github.ref }}-${{ github.sha }}-XEN
31+
key: ${{ runner.os }}-24.04-make-clang-${{ github.ref }}-${{ github.sha }}-XEN
3232
restore-keys: |
33-
${{ runner.os }}-20.04-make-clang-${{ github.ref }}
34-
${{ runner.os }}-20.04-make-clang
33+
${{ runner.os }}-24.04-make-clang-${{ github.ref }}
34+
${{ runner.os }}-24.04-make-clang
3535
- name: ccache environment
3636
run: |
3737
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV

.github/workflows/coverage.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ env:
1212
jobs:
1313
# This job takes approximately 22 to 75 minutes
1414
Linux:
15-
runs-on: ubuntu-20.04
15+
runs-on: ubuntu-24.04
1616
steps:
1717
- name: Clone repository
1818
uses: actions/checkout@v4
@@ -45,10 +45,10 @@ jobs:
4545
with:
4646
save-always: true
4747
path: .ccache
48-
key: ${{ runner.os }}-20.04-Coverage-${{ github.ref }}-${{ github.sha }}-PR
48+
key: ${{ runner.os }}-24.04-Coverage-${{ github.ref }}-${{ github.sha }}-PR
4949
restore-keys: |
50-
${{ runner.os }}-20.04-Coverage-${{ github.ref }}
51-
${{ runner.os }}-20.04-Coverage
50+
${{ runner.os }}-24.04-Coverage-${{ github.ref }}
51+
${{ runner.os }}-24.04-Coverage
5252
- name: ccache environment
5353
run: |
5454
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV

.github/workflows/csmith.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
jobs:
88
# This job takes approximately 18 minutes
99
run-10-random-tests:
10-
runs-on: ubuntu-20.04
10+
runs-on: ubuntu-24.04
1111
steps:
1212
- uses: actions/checkout@v4
1313
with:
@@ -19,18 +19,18 @@ jobs:
1919
DEBIAN_FRONTEND: noninteractive
2020
run: |
2121
sudo apt-get update
22-
sudo apt-get install --no-install-recommends -y build-essential flex bison maven ccache clang-10 clang++-10
22+
sudo apt-get install --no-install-recommends -y build-essential flex bison maven ccache clang-19 clang++-19
2323
sudo apt-get install --no-install-recommends -y csmith libcsmith-dev
2424
make -C src minisat2-download
2525
- name: Prepare ccache
2626
uses: actions/cache@v4
2727
with:
2828
save-always: true
2929
path: .ccache
30-
key: ${{ runner.os }}-20.04-make-clang-${{ github.ref }}-${{ github.sha }}-CSMITH
30+
key: ${{ runner.os }}-24.04-make-clang-${{ github.ref }}-${{ github.sha }}-CSMITH
3131
restore-keys: |
32-
${{ runner.os }}-20.04-make-clang-${{ github.ref }}
33-
${{ runner.os }}-20.04-make-clang
32+
${{ runner.os }}-24.04-make-clang-${{ github.ref }}
33+
${{ runner.os }}-24.04-make-clang
3434
- name: ccache environment
3535
run: |
3636
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV

.github/workflows/doxygen-check.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
check-doxygen:
99
# Note that the versions used for this `check-doxygen` job should be kept in
1010
# sync with the `publish` job.
11-
runs-on: ubuntu-24.04
11+
runs-on: ubuntu-latest
1212
steps:
1313
- uses: actions/checkout@v4
1414
- name: Fetch dependencies

.github/workflows/performance.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88

99
jobs:
1010
perf-benchcomp:
11-
runs-on: ubuntu-20.04
11+
runs-on: ubuntu-24.04
1212
steps:
1313
- name: Save push event HEAD and HEAD~ to environment variables
1414
if: ${{ github.event_name == 'push' }}
@@ -51,10 +51,10 @@ jobs:
5151
uses: actions/cache/restore@v4
5252
with:
5353
path: .ccache
54-
key: ${{ runner.os }}-20.04-Release-${{ github.ref }}-${{ github.sha }}-PR
54+
key: ${{ runner.os }}-24.04-Release-${{ github.ref }}-${{ github.sha }}-PR
5555
restore-keys: |
56-
${{ runner.os }}-20.04-Release-${{ github.ref }}
57-
${{ runner.os }}-20.04-Release
56+
${{ runner.os }}-24.04-Release-${{ github.ref }}
57+
${{ runner.os }}-24.04-Release
5858
- name: ccache environment
5959
run: echo "CCACHE_DIR=$PWD/.ccache" >> $GITHUB_ENV
6060
- name: Zero ccache stats and limit in size

.github/workflows/publish.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ jobs:
66
publish:
77
# Note that the versions used for this `publish` job should be kept in sync
88
# with the `check-doxygen` job.
9-
runs-on: ubuntu-24.04
9+
runs-on: ubuntu-latest
1010
steps:
1111
- name: Checkout repository
1212
uses: actions/checkout@v4

.github/workflows/pull-request-checks.yaml

+37-37
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ env:
1111

1212
jobs:
1313
# This job takes approximately 15 to 40 minutes
14-
check-ubuntu-20_04-make-gcc:
15-
runs-on: ubuntu-20.04
14+
check-ubuntu-24_04-make-gcc:
15+
runs-on: ubuntu-24.04
1616
steps:
1717
- uses: actions/checkout@v4
1818
with:
@@ -38,10 +38,10 @@ jobs:
3838
with:
3939
save-always: true
4040
path: .ccache
41-
key: ${{ runner.os }}-20.04-make-${{ github.ref }}-${{ github.sha }}-PR
41+
key: ${{ runner.os }}-24.04-make-${{ github.ref }}-${{ github.sha }}-PR
4242
restore-keys: |
43-
${{ runner.os }}-20.04-make-${{ github.ref }}
44-
${{ runner.os }}-20.04-make
43+
${{ runner.os }}-24.04-make-${{ github.ref }}
44+
${{ runner.os }}-24.04-make
4545
- name: ccache environment
4646
run: |
4747
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV
@@ -92,8 +92,8 @@ jobs:
9292
fi
9393
9494
# This job takes approximately 25 to 34 minutes
95-
check-ubuntu-20_04-make-clang:
96-
runs-on: ubuntu-20.04
95+
check-ubuntu-24_04-make-clang:
96+
runs-on: ubuntu-24.04
9797
env:
9898
CC: "ccache /usr/bin/clang"
9999
CXX: "ccache /usr/bin/clang++"
@@ -108,7 +108,7 @@ jobs:
108108
DEBIAN_FRONTEND: noninteractive
109109
run: |
110110
sudo apt-get update
111-
sudo apt-get install --no-install-recommends -yq clang-10 clang++-10 gdb maven jq flex bison libxml2-utils cpanminus ccache z3
111+
sudo apt-get install --no-install-recommends -yq clang-19 clang++-19 gdb maven jq flex bison libxml2-utils cpanminus ccache z3
112112
make -C src minisat2-download cadical-download
113113
cpanm Thread::Pool::Simple
114114
- name: Confirm z3 solver is available and log the version installed
@@ -124,10 +124,10 @@ jobs:
124124
with:
125125
save-always: true
126126
path: .ccache
127-
key: ${{ runner.os }}-20.04-make-clang-${{ github.ref }}-${{ github.sha }}-PR
127+
key: ${{ runner.os }}-24.04-make-clang-${{ github.ref }}-${{ github.sha }}-PR
128128
restore-keys: |
129-
${{ runner.os }}-20.04-make-clang-${{ github.ref }}
130-
${{ runner.os }}-20.04-make-clang
129+
${{ runner.os }}-24.04-make-clang-${{ github.ref }}
130+
${{ runner.os }}-24.04-make-clang
131131
- name: ccache environment
132132
run: |
133133
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV
@@ -165,8 +165,8 @@ jobs:
165165
# The reason we opted for a new job is that adding a `test-z3` step to the current
166166
# jobs increases the job runtime to unacceptable levels (over 2hrs).
167167
# This job takes approximately 3 to 18 minutes
168-
check-ubuntu-20_04-make-clang-smt-z3:
169-
runs-on: ubuntu-20.04
168+
check-ubuntu-24_04-make-clang-smt-z3:
169+
runs-on: ubuntu-24.04
170170
env:
171171
CC: "ccache /usr/bin/clang"
172172
CXX: "ccache /usr/bin/clang++"
@@ -179,7 +179,7 @@ jobs:
179179
DEBIAN_FRONTEND: noninteractive
180180
run: |
181181
sudo apt-get update
182-
sudo apt-get install --no-install-recommends -yq clang-10 clang++-10 gdb maven jq flex bison libxml2-utils cpanminus ccache z3
182+
sudo apt-get install --no-install-recommends -yq clang-19 clang++-19 gdb maven jq flex bison libxml2-utils cpanminus ccache z3
183183
make -C src minisat2-download
184184
cpanm Thread::Pool::Simple
185185
- name: Confirm z3 solver is available and log the version installed
@@ -189,10 +189,10 @@ jobs:
189189
with:
190190
save-always: true
191191
path: .ccache
192-
key: ${{ runner.os }}-20.04-make-clang-${{ github.ref }}-${{ github.sha }}-PR
192+
key: ${{ runner.os }}-24.04-make-clang-${{ github.ref }}-${{ github.sha }}-PR
193193
restore-keys: |
194-
${{ runner.os }}-20.04-make-clang-${{ github.ref }}
195-
${{ runner.os }}-20.04-make-clang
194+
${{ runner.os }}-24.04-make-clang-${{ github.ref }}
195+
${{ runner.os }}-24.04-make-clang
196196
- name: ccache environment
197197
run: |
198198
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV
@@ -207,8 +207,8 @@ jobs:
207207
run: make -C regression/cbmc test-z3
208208

209209
# This job takes approximately 17 to 42 minutes
210-
check-ubuntu-20_04-cmake-gcc:
211-
runs-on: ubuntu-20.04
210+
check-ubuntu-24_04-cmake-gcc:
211+
runs-on: ubuntu-24.04
212212
steps:
213213
- uses: actions/checkout@v4
214214
with:
@@ -234,10 +234,10 @@ jobs:
234234
with:
235235
save-always: true
236236
path: .ccache
237-
key: ${{ runner.os }}-20.04-Release-${{ github.ref }}-${{ github.sha }}-PR
237+
key: ${{ runner.os }}-24.04-Release-${{ github.ref }}-${{ github.sha }}-PR
238238
restore-keys: |
239-
${{ runner.os }}-20.04-Release-${{ github.ref }}
240-
${{ runner.os }}-20.04-Release
239+
${{ runner.os }}-24.04-Release-${{ github.ref }}
240+
${{ runner.os }}-24.04-Release
241241
- name: ccache environment
242242
run: |
243243
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV
@@ -499,8 +499,8 @@ jobs:
499499
run: cd build; ctest . -V -L CORE -j${{env.linux-vcpus}}
500500

501501
# This job takes approximately 2 to 24 minutes
502-
check-ubuntu-20_04-cmake-gcc-KNOWNBUG:
503-
runs-on: ubuntu-20.04
502+
check-ubuntu-24_04-cmake-gcc-KNOWNBUG:
503+
runs-on: ubuntu-24.04
504504
steps:
505505
- uses: actions/checkout@v4
506506
with:
@@ -518,10 +518,10 @@ jobs:
518518
with:
519519
save-always: true
520520
path: .ccache
521-
key: ${{ runner.os }}-20.04-Release-${{ github.ref }}-${{ github.sha }}-PR
521+
key: ${{ runner.os }}-24.04-Release-${{ github.ref }}-${{ github.sha }}-PR
522522
restore-keys: |
523-
${{ runner.os }}-20.04-Release-${{ github.ref }}
524-
${{ runner.os }}-20.04-Release
523+
${{ runner.os }}-24.04-Release-${{ github.ref }}
524+
${{ runner.os }}-24.04-Release
525525
- name: ccache environment
526526
run: |
527527
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV
@@ -546,8 +546,8 @@ jobs:
546546
../test.pl -c "cbmc --cprover-smt2" -I broken-smt-backend -K
547547
548548
# This job takes approximately 7 to 30 minutes
549-
check-ubuntu-20_04-cmake-gcc-THOROUGH:
550-
runs-on: ubuntu-20.04
549+
check-ubuntu-24_04-cmake-gcc-THOROUGH:
550+
runs-on: ubuntu-24.04
551551
steps:
552552
- uses: actions/checkout@v4
553553
with:
@@ -565,10 +565,10 @@ jobs:
565565
with:
566566
save-always: true
567567
path: .ccache
568-
key: ${{ runner.os }}-20.04-Release-${{ github.ref }}-${{ github.sha }}-PR
568+
key: ${{ runner.os }}-24.04-Release-${{ github.ref }}-${{ github.sha }}-PR
569569
restore-keys: |
570-
${{ runner.os }}-20.04-Release-${{ github.ref }}
571-
${{ runner.os }}-20.04-Release
570+
${{ runner.os }}-24.04-Release-${{ github.ref }}
571+
${{ runner.os }}-24.04-Release
572572
- name: ccache environment
573573
run: |
574574
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV
@@ -877,15 +877,15 @@ jobs:
877877
878878
# This job takes approximately 2 to 3 minutes
879879
check-string-table:
880-
runs-on: ubuntu-20.04
880+
runs-on: ubuntu-latest
881881
steps:
882882
- uses: actions/checkout@v4
883883
- name: Check for unused irep ids
884884
run: ./scripts/string_table_check.sh
885885

886886
# This job takes approximately 23 to 29 minutes
887887
check-docker-image:
888-
runs-on: ubuntu-20.04
888+
runs-on: ubuntu-latest
889889
steps:
890890
- uses: actions/checkout@v4
891891
with:
@@ -909,7 +909,7 @@ jobs:
909909

910910
# This job takes approximately 22 to 41 minutes
911911
include-what-you-use:
912-
runs-on: ubuntu-22.04
912+
runs-on: ubuntu-latest
913913
steps:
914914
- uses: actions/checkout@v4
915915
with:
@@ -921,9 +921,9 @@ jobs:
921921
DEBIAN_FRONTEND: noninteractive
922922
run: |
923923
sudo apt-get update
924-
sudo apt-get install --no-install-recommends -yq cmake ninja-build gcc gdb g++ maven flex bison iwyu
924+
sudo apt-get install --no-install-recommends -yq cmake ninja-build clang-19 clang++-19 gdb maven flex bison iwyu
925925
- name: Configure using CMake
926-
run: cmake -S . -Bbuild -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++
926+
run: cmake -S . -Bbuild -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++
927927
- name: Run include-what-you-use
928928
run: |
929929
iwyu_tool -p build/compile_commands.json -j${{env.linux-vcpus}} | tee includes.txt

0 commit comments

Comments
 (0)