Skip to content

Commit b6540ad

Browse files
DaanDeMeyerbluca
authored andcommitted
ci: Switch to Ubuntu 24.04
(cherry picked from commit d5474f7) (cherry picked from commit d006e13)
1 parent 8398ac6 commit b6540ad

File tree

16 files changed

+48
-23
lines changed

16 files changed

+48
-23
lines changed

.github/workflows/build_test.sh

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,14 @@ if [[ "$COMPILER" == clang ]]; then
7878
CXX="clang++-$COMPILER_VERSION"
7979
AR="llvm-ar-$COMPILER_VERSION"
8080

81+
if systemd-analyze compare-versions "$COMPILER_VERSION" ge 17; then
82+
CFLAGS="-fno-sanitize=function"
83+
CXXFLAGS="-fno-sanitize=function"
84+
else
85+
CFLAGS=""
86+
CXXFLAGS=""
87+
fi
88+
8189
# Prefer the distro version if available
8290
if ! apt install --dry-run "llvm-$COMPILER_VERSION" >/dev/null; then
8391
# Latest LLVM stack deb packages provided by https://apt.llvm.org/
@@ -92,6 +100,8 @@ elif [[ "$COMPILER" == gcc ]]; then
92100
CC="gcc-$COMPILER_VERSION"
93101
CXX="g++-$COMPILER_VERSION"
94102
AR="gcc-ar-$COMPILER_VERSION"
103+
CFLAGS=""
104+
CXXFLAGS=""
95105

96106
if ! apt install --dry-run "gcc-$COMPILER_VERSION" >/dev/null; then
97107
# Latest gcc stack deb packages provided by
@@ -104,16 +114,20 @@ else
104114
fatal "Unknown compiler: $COMPILER"
105115
fi
106116

107-
# PPA with some newer build dependencies (like zstd)
108-
add-apt-repository -y ppa:upstream-systemd-ci/systemd-ci
109-
apt-get -y update
110-
apt-get -y build-dep systemd
111-
apt-get -y install "${PACKAGES[@]}"
117+
# This is added by default, and it is often broken, but we don't need anything from it
118+
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.{list,sources}
119+
# add-apt-repository --enable-source does not work on deb822 style sources.
120+
for f in /etc/apt/sources.list.d/*.sources; do
121+
sudo sed -i "s/Types: deb/Types: deb deb-src/g" "$f"
122+
done
123+
sudo apt-get -y update
124+
sudo apt-get -y build-dep systemd
125+
sudo apt-get -y install "${PACKAGES[@]}"
112126
# Install more or less recent meson and ninja with pip, since the distro versions don't
113127
# always support all the features we need (like --optimization=). Since the build-dep
114128
# command above installs the distro versions, let's install the pip ones just
115129
# locally and add the local bin directory to the $PATH.
116-
pip3 install --user -r .github/workflows/requirements.txt --require-hashes
130+
pip3 install --user -r .github/workflows/requirements.txt --require-hashes --break-system-packages
117131
export PATH="$HOME/.local/bin:$PATH"
118132

119133
$CC --version
@@ -135,8 +149,8 @@ for args in "${ARGS[@]}"; do
135149
info "Checking build with $args"
136150
# shellcheck disable=SC2086
137151
if ! AR="$AR" \
138-
CC="$CC" CC_LD="$LD" CFLAGS="-Werror" \
139-
CXX="$CXX" CXX_LD="$LD" CXXFLAGS="-Werror" \
152+
CC="$CC" CC_LD="$LD" CFLAGS="$CFLAGS" \
153+
CXX="$CXX" CXX_LD="$LD" CXXFLAGS="$CXXFLAGS" \
140154
meson setup \
141155
-Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true --werror \
142156
-Dnobody-group=nogroup -Dcryptolib="${CRYPTOLIB:?}" \

.github/workflows/build_test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ permissions:
1717

1818
jobs:
1919
build:
20-
runs-on: ubuntu-22.04
20+
runs-on: ubuntu-24.04
2121
concurrency:
2222
group: ${{ github.workflow }}-${{ toJSON(matrix.env) }}-${{ github.ref }}
2323
cancel-in-progress: true

.github/workflows/cflite_pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ permissions: read-all
1313

1414
jobs:
1515
PR:
16-
runs-on: ubuntu-latest
16+
runs-on: ubuntu-24.04
1717
if: github.repository != 'systemd/systemd' || github.event.pull_request.user.login == 'dependabot[bot]'
1818
concurrency:
1919
group: ${{ github.workflow }}-${{ matrix.sanitizer }}-${{ github.ref }}

.github/workflows/cifuzz.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ on:
2222
- main
2323
jobs:
2424
Fuzzing:
25-
runs-on: ubuntu-latest
25+
# FIXME: Figure out why 32-bit applications fail to run in docker on Ubuntu 24.04.
26+
runs-on: ubuntu-22.04
2627
if: github.repository == 'systemd/systemd'
2728
concurrency:
2829
group: ${{ github.workflow }}-${{ matrix.sanitizer }}-${{ matrix.architecture }}-${{ github.ref }}

.github/workflows/codeql.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
analyze:
2828
name: Analyze
2929
if: github.repository != 'systemd/systemd-security'
30-
runs-on: ubuntu-22.04
30+
runs-on: ubuntu-24.04
3131
concurrency:
3232
group: ${{ github.workflow }}-${{ matrix.language }}-${{ github.ref }}
3333
cancel-in-progress: true

.github/workflows/coverity.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ permissions:
1414

1515
jobs:
1616
build:
17-
runs-on: ubuntu-22.04
17+
runs-on: ubuntu-24.04
1818
if: github.repository == 'systemd/systemd'
1919
env:
2020
# Set in repo settings -> secrets -> actions

.github/workflows/development_freeze.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
github.event.workflow_run.event == 'pull_request' &&
2222
github.event.workflow_run.conclusion == 'success' &&
2323
github.repository == 'systemd/systemd'
24-
runs-on: ubuntu-22.04
24+
runs-on: ubuntu-24.04
2525

2626
permissions:
2727
pull-requests: write

.github/workflows/differential-shellcheck.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ permissions:
1616
jobs:
1717
lint:
1818
if: github.event.repository.name != 'systemd-security'
19-
runs-on: ubuntu-latest
19+
runs-on: ubuntu-24.04
2020

2121
permissions:
2222
security-events: write

.github/workflows/gather-pr-metadata.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ permissions:
1616
jobs:
1717
gather-metadata:
1818
if: github.repository == 'systemd/systemd'
19-
runs-on: ubuntu-22.04
19+
runs-on: ubuntu-24.04
2020

2121
steps:
2222
- name: Repository checkout

.github/workflows/issue_labeler.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ permissions:
1010

1111
jobs:
1212
label-component:
13-
runs-on: ubuntu-22.04
13+
runs-on: ubuntu-24.04
1414

1515
permissions:
1616
issues: write

0 commit comments

Comments
 (0)