Skip to content

Commit a3863df

Browse files
rousskovsquid-anubis
authored andcommitted
CI: Upgrade Ubuntu runners from v22.04 to v24.04 (#2064)
* Ubuntu 24.04 uses different apt sources file location and format. * Some Ubuntu 24.04 GitHub Actions runners lack libltdl-dev as detailed at actions/runner-images#11316. We could explicitly install libltdl-dev for functionality tests, but decided to go one step further and unify all prerequisites installation steps for tests that build Squid on Ubuntu. Also added a hack to fix /etc/hosts broken on some Ubuntu runners and resulting in Squid startup errors during functionality tests: kid1| ERROR: ipcacheAddEntryFromHosts: Bad IP address '-e'
1 parent 1723d15 commit a3863df

3 files changed

Lines changed: 23 additions & 12 deletions

File tree

.github/workflows/coverity-scan.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
# only run the workflow on Squid's main repository
1818
if: github.repository == 'squid-cache/squid'
1919

20-
runs-on: ubuntu-22.04
20+
runs-on: ubuntu-24.04
2121

2222
# this job relies on GitHub repository secrets containing
2323
# username and password to access the Coverity Scan service

.github/workflows/quick.yaml

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,23 @@ jobs:
4040

4141
functionality-tests:
4242

43-
runs-on: ubuntu-22.04
43+
runs-on: ubuntu-24.04
4444

4545
steps:
46-
- name: Install prerequisite packages
46+
# XXX: A hack to fix Ubuntu runners that were created in April 2025.
47+
- name: Fix /etc/hosts
48+
run: |
49+
cat /etc/hosts
50+
cp -p /etc/hosts /tmp/etc-hosts.bak
51+
sudo sed --in-place -E 's/^(-e.*)/# \1/' /etc/hosts
52+
diff -u /tmp/etc-hosts.bak /etc/hosts || true
53+
54+
- name: Install prerequisite Linux packages
4755
run: |
56+
# required for "apt-get build-dep" to work
57+
sudo sed --in-place -E 's/^(Types: deb)$/\1 deb-src/' /etc/apt/sources.list.d/ubuntu.sources
4858
sudo apt-get --quiet=2 update
59+
sudo apt-get --quiet=2 build-dep squid
4960
sudo apt-get --quiet=2 install libtool-bin
5061
5162
- name: Setup a nodejs environment
@@ -83,7 +94,7 @@ jobs:
8394
8495
source-maintenance-tests:
8596

86-
runs-on: ubuntu-22.04
97+
runs-on: ubuntu-24.04
8798

8899
steps:
89100
- name: Install prerequisite packages
@@ -111,7 +122,7 @@ jobs:
111122
fail-fast: true
112123
matrix:
113124
os:
114-
- ubuntu-22.04
125+
- ubuntu-24.04
115126
compiler:
116127
- { CC: gcc, CXX: g++ }
117128
- { CC: clang, CXX: clang++ }
@@ -133,7 +144,7 @@ jobs:
133144
- name: Install prerequisite Linux packages
134145
run: |
135146
# required for "apt-get build-dep" to work
136-
sudo sed --in-place -E 's/# (deb-src.*updates main)/ \1/g' /etc/apt/sources.list
147+
sudo sed --in-place -E 's/^(Types: deb)$/\1 deb-src/' /etc/apt/sources.list.d/ubuntu.sources
137148
sudo apt-get --quiet=2 update
138149
sudo apt-get --quiet=2 build-dep squid
139150
sudo apt-get --quiet=2 install linuxdoc-tools libtool-bin ${{ matrix.compiler.CC }} ccache valgrind
@@ -159,17 +170,17 @@ jobs:
159170

160171
CodeQL-tests:
161172

162-
runs-on: [ ubuntu-22.04 ]
173+
runs-on: [ ubuntu-24.04 ]
163174

164175
permissions:
165176
security-events: write
166177

167178
steps:
168179

169-
- name: Install Squid prerequisite Linux packages
180+
- name: Install prerequisite Linux packages
170181
run: |
171182
# required for "apt-get build-dep" to work
172-
sudo sed --in-place -E 's/# (deb-src.*updates main)/ \1/g' /etc/apt/sources.list
183+
sudo sed --in-place -E 's/^(Types: deb)$/\1 deb-src/' /etc/apt/sources.list.d/ubuntu.sources
173184
sudo apt-get --quiet=2 update
174185
sudo apt-get --quiet=2 build-dep squid
175186
sudo apt-get --quiet=2 install linuxdoc-tools libtool-bin

.github/workflows/slow.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
- { name: layer-01-minimal, nick: minimal }
5151
- { name: layer-02-maximus, nick: maximus }
5252

53-
runs-on: ubuntu-22.04
53+
runs-on: ubuntu-24.04
5454
container:
5555
image: squidcache/buildfarm-${{ matrix.os }}:stable
5656
options: --user 1001 # uid used by worfklow runner
@@ -145,7 +145,7 @@ jobs:
145145
- 14.2
146146
- 13.4
147147

148-
runs-on: ubuntu-22.04
148+
runs-on: ubuntu-24.04
149149
name: freebsd(${{ matrix.osversion }})
150150

151151
steps:
@@ -186,7 +186,7 @@ jobs:
186186
path: btlayer-*.log
187187

188188
openbsd:
189-
runs-on: ubuntu-22.04
189+
runs-on: ubuntu-24.04
190190

191191
steps:
192192
- name: Checkout Sources

0 commit comments

Comments
 (0)