Switch Ubuntu 18.04 CI builds to newer Ubuntu versions

Don't use the old Ubuntu version, Ubuntu PPAs are simply too flaky to be
used.

Use the latest available Ubuntu image (26.04) for all builds except
wxDFB as libdirectfb-dev package is not available in this Ubuntu version
any longer, so use 24.04 for this job.

Remove special handling of Ubuntu 18.04 which is not needed any more.
This commit is contained in:
Vadim Zeitlin
2026-07-31 12:48:12 +02:00
parent 49ded50540
commit 2782377d4f
+16 -55
View File
@@ -78,27 +78,19 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- name: Ubuntu 18.04 wxGTK 2 - name: Ubuntu 26.04 wxGTK 2
runner: ubuntu-latest runner: ubuntu-26.04
container: ubuntu:18.04
gtk_version: 2 gtk_version: 2
use_xvfb: true use_xvfb: true
- name: Ubuntu 18.04 wxGTK UTF-8 - name: Ubuntu 26.04 wxGTK UTF-8
runner: ubuntu-latest runner: ubuntu-26.04
container: ubuntu:18.04
configure_flags: --enable-utf8 --enable-utf8only --enable-monolithic configure_flags: --enable-utf8 --enable-utf8only --enable-monolithic
use_xvfb: true use_xvfb: true
- name: Ubuntu 18.04 wxGTK 3 static with gcc 4.8 - name: Ubuntu 20.04 wxGTK gcc 7 static compatible 3.0
runner: ubuntu-latest runner: ubuntu-26.04
compiler: g++-4.8 container: ubuntu:20.04
container: ubuntu:18.04 compiler: g++-7
configure_flags: --disable-shared configure_flags: --enable-compat30 --enable-pch --disable-shared
allow_extra_warnings: true
use_xvfb: true
- name: Ubuntu 18.04 wxGTK 3 compatible 3.0
runner: ubuntu-latest
container: ubuntu:18.04
configure_flags: --enable-compat30 --enable-pch
use_xvfb: true use_xvfb: true
- name: Ubuntu 20.04 wxGTK 3 with clang - name: Ubuntu 20.04 wxGTK 3 with clang
runner: ubuntu-latest runner: ubuntu-latest
@@ -127,20 +119,18 @@ jobs:
use_ubsan: true use_ubsan: true
use_xvfb: true use_xvfb: true
build_out_of_tree_samples: true build_out_of_tree_samples: true
- name: Ubuntu 18.04 wxX11 - name: Ubuntu 26.04 wxX11
runner: ubuntu-latest runner: ubuntu-26.04
container: ubuntu:18.04
configure_flags: --with-x11 --disable-stc configure_flags: --with-x11 --disable-stc
skip_samples: true skip_samples: true
- name: Ubuntu 18.04 wxDFB - name: Ubuntu 24.04 wxDFB
runner: ubuntu-latest # This is the latest Ubuntu version that still has DirectFB in its repositories.
container: ubuntu:18.04 runner: ubuntu-24.04
configure_flags: --with-directfb --disable-stc configure_flags: --with-directfb --disable-stc
skip_samples: true skip_samples: true
allow_warnings: true allow_warnings: true
- name: Ubuntu 18.04 wxQt - name: Ubuntu 26.04 wxQt
runner: ubuntu-latest runner: ubuntu-26.04
container: ubuntu:18.04
configure_flags: --with-qt --without-opengl configure_flags: --with-qt --without-opengl
skip_samples: true skip_samples: true
use_xvfb: true use_xvfb: true
@@ -159,16 +149,6 @@ jobs:
ubuntu:*) ubuntu:*)
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
if [ '${{ matrix.container }}' = 'ubuntu:18.04' ]; then
# First get the package containing /usr/bin/apt-add-repository.
apt-get update -qq
apt-get install -qq software-properties-common
# Git 2.17 in the official repository is too old to checkout
# submodules using it, so get a newer version.
apt-add-repository ppa:git-core/ppa
fi
compiler=${{ matrix.compiler }} compiler=${{ matrix.compiler }}
case "$compiler" in case "$compiler" in
clang++*) clang++*)
@@ -194,22 +174,6 @@ jobs:
# - xvfb is used for running the GUI tests. # - xvfb is used for running the GUI tests.
apt-get update -qq apt-get update -qq
apt-get install -qq coreutils ${compiler_packages} git make pkg-config sudo xvfb apt-get install -qq coreutils ${compiler_packages} git make pkg-config sudo xvfb
# Checkout action doesn't work under Ubuntu 18.04 any more, so
# run checkout manually.
git config --global --add safe.directory $GITHUB_WORKSPACE
git config --global gc.auto 0
git init $GITHUB_WORKSPACE
cd $GITHUB_WORKSPACE
git remote add origin $GITHUB_SERVER_URL/$GITHUB_REPOSITORY
git fetch --depth=1 origin $GITHUB_REF
git checkout FETCH_HEAD
git submodule update --init --depth=1 --recursive
git log -1 --format='%H'
# We can't easily install Go either, so skip the tests requiring
# httpbin.
echo WX_TEST_WEBREQUEST_URL=0 >> $GITHUB_ENV
;; ;;
'') '')
@@ -221,13 +185,11 @@ jobs:
esac esac
- name: Checkout - name: Checkout
if: matrix.container != 'ubuntu:18.04'
uses: actions/checkout@v6 uses: actions/checkout@v6
with: with:
submodules: 'recursive' submodules: 'recursive'
- name: Install CCache - name: Install CCache
if: matrix.container != 'ubuntu:18.04'
uses: hendrikmuhs/ccache-action@v1.2.23 uses: hendrikmuhs/ccache-action@v1.2.23
with: with:
key: ${{ matrix.name }} key: ${{ matrix.name }}
@@ -370,7 +332,6 @@ jobs:
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_tests }} if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_tests }}
- name: Setup Go - name: Setup Go
if: matrix.container != 'ubuntu:18.04'
uses: actions/setup-go@v6 uses: actions/setup-go@v6
with: with:
go-version: '1' go-version: '1'