Remove 20.04 from CI (#768)

* Remove 20.04 as no longer supported.
* Remove PowerPC due to existing issues with updated QEMU.
This commit is contained in:
Matthew Parkinson
2025-04-28 15:11:21 +01:00
committed by GitHub
parent b8e28be14b
commit 6325edefcf

View File

@@ -22,7 +22,7 @@ jobs:
strategy: strategy:
matrix: matrix:
# Build each combination of OS and release/debug variants # Build each combination of OS and release/debug variants
os: [ "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "ubuntu-24.04-arm" ] os: [ "ubuntu-24.04", "ubuntu-22.04", "ubuntu-24.04-arm" ]
build-type: [ "Release", "Debug" ] build-type: [ "Release", "Debug" ]
# Extra cmake flags. GitHub Actions matrix overloads `include` to mean # Extra cmake flags. GitHub Actions matrix overloads `include` to mean
# 'add extra things to a job' and 'add jobs'. You can add extra things # 'add extra things to a job' and 'add jobs'. You can add extra things
@@ -43,10 +43,6 @@ jobs:
variant: "C++17" variant: "C++17"
build-type: "Debug" build-type: "Debug"
extra-cmake-flags: "-DSNMALLOC_USE_CXX17=ON" extra-cmake-flags: "-DSNMALLOC_USE_CXX17=ON"
- os: "ubuntu-20.04"
variant: "C++17"
build-type: "Debug"
extra-cmake-flags: "-DSNMALLOC_USE_CXX17=ON"
# Add the self-host build, using the bounds-checked memcpy in # Add the self-host build, using the bounds-checked memcpy in
# maximally paranoid mode (checking loads and stores) # maximally paranoid mode (checking loads and stores)
- os: "ubuntu-24.04" - os: "ubuntu-24.04"
@@ -72,20 +68,15 @@ jobs:
extra-cmake-flags: "-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS=-stdlib=libstdc++" extra-cmake-flags: "-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS=-stdlib=libstdc++"
build-only: yes build-only: yes
# Replay some of the above tests with clang-10 specifically # Replay some of the above tests with clang-10 specifically
- os: "ubuntu-20.04" - os: "ubuntu-22.04"
variant: "clang-10 (with pthread destructors)."
build-type: Debug
self-host: true
extra-cmake-flags: "-DSNMALLOC_USE_PTHREAD_DESTRUCTORS=On -DCMAKE_CXX_COMPILER=clang++-10 -DCMAKE_C_COMPILER=clang-10"
- os: "ubuntu-20.04"
variant: "Traced Build" variant: "Traced Build"
build-type: Release build-type: Release
extra-cmake-flags: "-DSNMALLOC_TRACING=On" extra-cmake-flags: "-DSNMALLOC_TRACING=On"
build-only: yes build-only: yes
- os: "ubuntu-20.04" - os: "ubuntu-22.04"
variant: "clang-10 libstdc++ (Build only)" variant: "clang + libstdc++ (Build only)"
build-type: Release build-type: Release
extra-cmake-flags: "-DCMAKE_CXX_COMPILER=clang++-10 -DCMAKE_C_COMPILER=clang-10 -DCMAKE_CXX_FLAGS=-stdlib=libstdc++" extra-cmake-flags: "-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_FLAGS=-stdlib=libstdc++"
build-only: yes build-only: yes
# Don't abort runners if a single one fails # Don't abort runners if a single one fails
fail-fast: false fail-fast: false
@@ -310,13 +301,16 @@ jobs:
rtld: ld-linux-aarch64.so.1 rtld: ld-linux-aarch64.so.1
ld-flavour: lld ld-flavour: lld
host-os: ubuntu-24.04 host-os: ubuntu-24.04
- name: ppc64el # DISABLED as 20.04 is not supported anymore,
system-processor: powerpc64le # and it appears the qemu bug persists in 24.04
triple: powerpc64le-linux-gnu # See https://github.com/microsoft/snmalloc/issues/576
rtld: ld64.so.2 # - name: ppc64el
ld-flavour: lld # system-processor: powerpc64le
# See https://github.com/microsoft/snmalloc/issues/576 # triple: powerpc64le-linux-gnu
host-os: ubuntu-20.04 # rtld: ld64.so.2
# ld-flavour: lld
# # See https://github.com/microsoft/snmalloc/issues/576
# host-os: ubuntu-24.04
- name: riscv64 - name: riscv64
system-processor: riscv64 system-processor: riscv64
triple: riscv64-linux-gnu triple: riscv64-linux-gnu
@@ -331,21 +325,11 @@ jobs:
name: Crossbuild - ${{matrix.build-type}} cross-build for ${{ matrix.arch.triple }} name: Crossbuild - ${{matrix.build-type}} cross-build for ${{ matrix.arch.triple }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: "Install cross-compile toolchain and QEMU (ubuntu-20.04)"
# Install the dependencies and clang 13. Earlier versions of clang don't
# find the multilib things for this week's Ubuntu filesystem layout.
if: matrix.arch.host-os == 'ubuntu-20.04'
run: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main"
sudo apt update
sudo apt install libstdc++-9-dev-${{ matrix.arch.name }}-cross qemu-user ninja-build clang-13 lld-13
sudo apt install ${{matrix.arch.extra-packages}}
- name: "Install cross-compile toolchain and QEMU (ubuntu-24.04)" - name: "Install cross-compile toolchain and QEMU (ubuntu-24.04)"
if: matrix.arch.host-os == 'ubuntu-24.04' if: matrix.arch.host-os == 'ubuntu-24.04'
run: | run: |
sudo apt update sudo apt update
sudo apt install libstdc++-12-dev-${{ matrix.arch.name }}-cross qemu-user ninja-build sudo apt install libstdc++-12-dev-${{ matrix.arch.name }}-cross qemu-user ninja-build binfmt-support
sudo apt install ${{matrix.arch.extra-packages}} sudo apt install ${{matrix.arch.extra-packages}}
- name: Reconfigure for PowerPC64LE - name: Reconfigure for PowerPC64LE
if: startsWith(matrix.arch.triple, 'powerpc64le') if: startsWith(matrix.arch.triple, 'powerpc64le')