ci: bump Ubuntu runners to 24.04 (#10288)

Ubuntu 22.04 is over 3 years old and therefore ships with quite an old
kernel. Our production VMs (for relays) all run Ubuntu 24.04 so it makes
sense to build and test them on the same kernel / OS release. For
consistency reasons, we therefore bump all runners to 24.04.
This commit is contained in:
Thomas Eizinger
2025-09-04 12:04:55 +10:00
committed by GitHub
parent 7b5f5d9a30
commit eeadde0c86
14 changed files with 32 additions and 32 deletions

View File

@@ -46,7 +46,7 @@ permissions:
jobs:
control-plane:
name: ${{ matrix.image_name }}
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
@@ -193,7 +193,7 @@ jobs:
data-plane-linux:
name: ${{ matrix.name.image_name }}-${{ matrix.arch.shortname }}
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
defaults:
run:
working-directory: rust
@@ -448,7 +448,7 @@ jobs:
name: merge-${{ matrix.image.name }}
needs: data-plane-linux
if: ${{ always() }}
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:

View File

@@ -8,7 +8,7 @@ on:
jobs:
analyze:
name: analyze-${{ matrix.working-directory }}
runs-on: ${{ (matrix.language == 'swift' && 'macos-14') || 'ubuntu-22.04' }}
runs-on: ${{ (matrix.language == 'swift' && 'macos-14') || 'ubuntu-24.04' }}
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
permissions:
actions: read

View File

@@ -4,7 +4,7 @@ on:
jobs:
unit-test:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
defaults:
run:
working-directory: ./elixir
@@ -44,7 +44,7 @@ jobs:
reporter: java-junit
type-check:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
defaults:
run:
working-directory: ./elixir
@@ -65,10 +65,10 @@ jobs:
id: plt_cache
with:
path: elixir/priv/plts
key: dialyzer-ubuntu-22.04-${{ runner.arch }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ steps.setup-beam.outputs.otp-version }}-${{ hashFiles('elixir/mix.lock') }}
key: dialyzer-ubuntu-24.04-${{ runner.arch }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ steps.setup-beam.outputs.otp-version }}-${{ hashFiles('elixir/mix.lock') }}
# This will make sure that we can incrementally build the PLT from older cache and save it under a new key
restore-keys: |
dialyzer-ubuntu-22.04-${{ runner.arch }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ steps.setup-beam.outputs.otp-version }}-
dialyzer-ubuntu-24.04-${{ runner.arch }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ steps.setup-beam.outputs.otp-version }}-
- name: Create PLTs
if: ${{ steps.plt_cache.outputs.cache-hit != 'true' }}
run: mix dialyzer --plt
@@ -82,7 +82,7 @@ jobs:
run: mix dialyzer --format dialyxir
static-analysis:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
defaults:
run:
working-directory: ./elixir
@@ -111,7 +111,7 @@ jobs:
run: mix deps.unlock --check-unused
migrations-and-seed-test:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
defaults:
run:
working-directory: ./elixir
@@ -150,7 +150,7 @@ jobs:
name: acceptance-test-${{ matrix.MIX_TEST_PARTITION }}
permissions:
checks: write
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
defaults:
run:
working-directory: ./elixir

View File

@@ -74,7 +74,7 @@ env:
jobs:
integration-tests:
name: ${{ matrix.test.name }}
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
contents: read
id-token: write

View File

@@ -14,7 +14,7 @@ permissions:
jobs:
static-analysis:
# Android SDK tools hardware accel is available only on Linux runners
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: ./.github/actions/setup-android
@@ -25,7 +25,7 @@ jobs:
update-release-draft:
name: update-release-draft
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
contents: write # for updating the release draft
env:
@@ -52,7 +52,7 @@ jobs:
needs: update-release-draft
if: "${{ github.event_name == 'workflow_dispatch' }}"
# Android SDK tools hardware accel is available only on Linux runners
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
@@ -121,7 +121,7 @@ jobs:
build_debug:
# Android SDK tools hardware accel is available only on Linux runners
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
name: build-debug
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

View File

@@ -23,7 +23,7 @@ jobs:
fail-fast: false
matrix:
# TODO: https://github.com/rust-lang/cargo/issues/5220
runs-on: [ubuntu-22.04, macos-14, windows-2022]
runs-on: [ubuntu-24.04, macos-14, windows-2022]
runs-on: ${{ matrix.runs-on }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

View File

@@ -7,7 +7,7 @@ on:
jobs:
pr-lint:
if: github.event_name == 'pull_request'
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
permissions:
@@ -32,7 +32,7 @@ jobs:
- uses: amannn/action-semantic-pull-request@0723387faaf9b38adef4775cd42cfd5155ed6017 #v5.5.3
version-check:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Check version is up to date
@@ -49,7 +49,7 @@ jobs:
fi
link-check:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332 # v2.4.1
@@ -64,7 +64,7 @@ jobs:
- uses: raven-actions/actionlint@3a24062651993d40fed1019b58ac6fbdfbf276cc # v2.0.1
global-linter:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
@@ -75,7 +75,7 @@ jobs:
id: cache
with:
path: ~/.cache/pip
key: ubuntu-22.04-${{ runner.arch }}-pip-${{ hashFiles('.github/requirements.txt') }}
key: ubuntu-24.04-${{ runner.arch }}-pip-${{ hashFiles('.github/requirements.txt') }}
- name: Install Python Dependencies
run: |
pip install -r .github/requirements.txt

View File

@@ -6,7 +6,7 @@ on:
jobs:
update-release-draft:
name: update-release-draft
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
env:
# mark:next-apple-version
RELEASE_NAME: macos-client-1.5.8

View File

@@ -23,7 +23,7 @@ jobs:
contents: write # for updating the release draft
id-token: write
name: update-release-draft
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
env:
# mark:next-gui-version
RELEASE_NAME: gui-client-1.5.7
@@ -41,7 +41,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
static-analysis:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: ./.github/actions/setup-node

View File

@@ -37,7 +37,7 @@ jobs:
notify:
needs: ci
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Send 'checks-passed' event
env:

View File

@@ -188,7 +188,7 @@ jobs:
update-release-draft:
name: update-release-draft-${{ matrix.config_name }}
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
@@ -277,7 +277,7 @@ jobs:
perf-tests:
name: perf-tests
needs: build-perf-artifacts
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
contents: read
id-token: write
@@ -405,7 +405,7 @@ jobs:
upload-bencher:
continue-on-error: true
needs: perf-tests
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
contents: read
id-token: write

View File

@@ -21,7 +21,7 @@ jobs:
startsWith(inputs.release_name || github.event.release.name, 'gateway') ||
startsWith(inputs.release_name || github.event.release.name, 'headless-client')
}}
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
# Needed to upload artifacts to a release
packages: write

View File

@@ -12,7 +12,7 @@ concurrency:
jobs:
create_sentry_release:
name: create_${{ matrix.component }}_sentry_release
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
matrix:
# TODO: This hack is needed because the macOS client isn't tagged as `apple-client`.

View File

@@ -7,7 +7,7 @@ on:
jobs:
linkChecker:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
issues: write # required for peter-evans/create-issue-from-file
steps: