Skip to content

Commit d006e13

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

File tree

18 files changed

+52
-26
lines changed

18 files changed

+52
-26
lines changed

.github/workflows/build_test.sh

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,14 @@ if [[ "$COMPILER" == clang ]]; then
7676
CXX="clang++-$COMPILER_VERSION"
7777
AR="llvm-ar-$COMPILER_VERSION"
7878

79+
if systemd-analyze compare-versions "$COMPILER_VERSION" ge 17; then
80+
CFLAGS="-fno-sanitize=function"
81+
CXXFLAGS="-fno-sanitize=function"
82+
else
83+
CFLAGS=""
84+
CXXFLAGS=""
85+
fi
86+
7987
# Prefer the distro version if available
8088
if ! apt-get -y install --dry-run "llvm-$COMPILER_VERSION" >/dev/null; then
8189
# Latest LLVM stack deb packages provided by https://apt.llvm.org/
@@ -91,6 +99,8 @@ elif [[ "$COMPILER" == gcc ]]; then
9199
CC="gcc-$COMPILER_VERSION"
92100
CXX="g++-$COMPILER_VERSION"
93101
AR="gcc-ar-$COMPILER_VERSION"
102+
CFLAGS=""
103+
CXXFLAGS=""
94104

95105
if ! apt-get -y install --dry-run "gcc-$COMPILER_VERSION" >/dev/null; then
96106
# Latest gcc stack deb packages provided by
@@ -103,17 +113,20 @@ else
103113
fatal "Unknown compiler: $COMPILER"
104114
fi
105115

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

119132
$CC --version
@@ -126,8 +139,8 @@ for args in "${ARGS[@]}"; do
126139
info "Checking build with $args"
127140
# shellcheck disable=SC2086
128141
if ! AR="$AR" \
129-
CC="$CC" CC_LD="$LINKER" CFLAGS="-Werror" \
130-
CXX="$CXX" CXX_LD="$LINKER" CXXFLAGS="-Werror" \
142+
CC="$CC" CC_LD="$LINKER" CFLAGS="$CFLAGS" \
143+
CXX="$CXX" CXX_LD="$LINKER" CXXFLAGS="$CXXFLAGS" \
131144
meson setup \
132145
-Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true --werror \
133146
-Dnobody-group=nogroup -Dcryptolib="${CRYPTOLIB:?}" -Ddebug=false \

.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)