From 4fbe22a8969e44ec630d6d4296f13e79e83b4985 Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Fri, 1 May 2026 16:00:02 -0500 Subject: [PATCH] ci: remove EOL OS versions from workflows (#6388) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * CI: remove EOL OS versions from workflows - freebsd.yml: drop FreeBSD 13.5 (EOL Jan 2026); keep 14.3 and 15.0 - openbsd.yml: bump 7.5 → 7.8 (7.5 EOL ~Nov 2024); drop pinned gcc version - i386.yml: replace Alpine 3.16 x86 (EOL May 2024) with i386/debian:bookworm (EOL Jun 2028) * CI: install cmake from bookworm-backports for i386 workflow * CI: fix OpenBSD workflow for 7.8 - Update vmactions/openbsd-vm v1.3.4 → v1.4.0 (supports 7.8) - Drop GCC; use OpenBSD's built-in Clang (cc/c++) which is always in PATH - Remove LD_LIBRARY_PATH workaround that was only needed for egcc * CI: remove gmake from OpenBSD workflow --- .github/workflows/freebsd.yml | 2 +- .github/workflows/i386.yml | 65 ++++++++++++++++++++--------------- .github/workflows/openbsd.yml | 12 ++----- 3 files changed, 41 insertions(+), 38 deletions(-) diff --git a/.github/workflows/freebsd.yml b/.github/workflows/freebsd.yml index 56ae741c01f..09cd4603853 100644 --- a/.github/workflows/freebsd.yml +++ b/.github/workflows/freebsd.yml @@ -45,7 +45,7 @@ jobs: strategy: fail-fast: false matrix: - freebsd-version: ['13.5', '14.3', '15.0'] + freebsd-version: ['14.3', '15.0'] steps: - name: Checkout repository diff --git a/.github/workflows/i386.yml b/.github/workflows/i386.yml index 003aee1d5a5..f5ae64d02cc 100644 --- a/.github/workflows/i386.yml +++ b/.github/workflows/i386.yml @@ -23,40 +23,49 @@ jobs: - name: Get Sources uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - name: setup alpine - uses: jirutka/setup-alpine@ae3b3ddba35054804fc4a3507b519fa7e8152050 # v1 - with: - arch: x86 - packages: > - build-base - libaec-dev - libgit2-dev - cmake + - name: Start i386 container + run: | + docker run -d --name i386_build --platform linux/386 \ + -e CTEST_OUTPUT_ON_FAILURE=1 \ + -v "${{ github.workspace }}:/workspace" \ + i386/debian:bookworm sleep infinity + + - name: Install dependencies + run: | + docker exec i386_build bash -c " + echo 'deb http://deb.debian.org/debian bookworm-backports main' > /etc/apt/sources.list.d/backports.list + apt-get update -y + apt-get install -y build-essential libaec-dev libgit2-dev + apt-get install -y -t bookworm-backports cmake + " - name: Configure - shell: alpine.sh --root {0} run: | - mkdir build - cd build - cmake -C ../config/cmake/cacheinit.cmake -G "Unix Makefiles" \ - --log-level=VERBOSE \ - -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \ - -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=OFF \ - -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ - -DHDF5_ENABLE_PLUGIN_SUPPORT:BOOL=OFF \ - -DHDF5_BUILD_CPP_LIB:BOOL=OFF \ - -DHDF5_BUILD_FORTRAN:BOOL=OFF \ - -DHDF5_BUILD_JAVA:BOOL=OFF \ - .. + docker exec -w /workspace i386_build bash -c " + mkdir build + cd build + cmake -C ../config/cmake/cacheinit.cmake -G 'Unix Makefiles' \ + --log-level=VERBOSE \ + -DCMAKE_BUILD_TYPE=${{ inputs.build_mode }} \ + -DHDF5_ENABLE_ZLIB_SUPPORT:BOOL=OFF \ + -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF \ + -DHDF5_ENABLE_PLUGIN_SUPPORT:BOOL=OFF \ + -DHDF5_BUILD_CPP_LIB:BOOL=OFF \ + -DHDF5_BUILD_FORTRAN:BOOL=OFF \ + -DHDF5_BUILD_JAVA:BOOL=OFF \ + .. + " - name: Build - shell: alpine.sh --root {0} run: | - cmake --build . --parallel 3 --config ${{ inputs.build_mode }} - working-directory: build + docker exec -w /workspace/build i386_build \ + cmake --build . --parallel 3 --config ${{ inputs.build_mode }} - name: Run Tests - shell: alpine.sh --root {0} run: | - ctest . --parallel 2 -C ${{ inputs.build_mode }} - working-directory: build + docker exec -w /workspace/build i386_build \ + ctest . --parallel 2 -C ${{ inputs.build_mode }} + + - name: Cleanup + if: always() + run: docker rm -f i386_build diff --git a/.github/workflows/openbsd.yml b/.github/workflows/openbsd.yml index 8fd5d63256c..0766fc2c261 100644 --- a/.github/workflows/openbsd.yml +++ b/.github/workflows/openbsd.yml @@ -45,26 +45,23 @@ jobs: strategy: fail-fast: false matrix: - openbsd-version: ['7.5'] + openbsd-version: ['7.8'] steps: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Build and test on OpenBSD - uses: vmactions/openbsd-vm@271a1ba62300483cfc58345ff9f425f1349a2cab # v1.3.4 + uses: vmactions/openbsd-vm@d7d892b7b9ba97ed2747b0fc201be65037d64c3e # v1.4.0 with: release: ${{ matrix.openbsd-version }} usesh: true prepare: | echo "https://ftp.openbsd.org/pub/OpenBSD" > /etc/installurl - pkg_add cmake gmake pkgconf curl gcc-11.2.0p11 + pkg_add cmake pkgconf curl run: | set -e - # Set up library path for gcc - export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH - # Get number of processors (OpenBSD uses sysctl in /sbin) NPROC=$(/sbin/sysctl -n hw.ncpu) echo "Number of processors: $NPROC" @@ -75,9 +72,6 @@ jobs: cmake -C ../config/cmake/cacheinit.cmake \ --log-level=VERBOSE \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_COMPILER=egcc \ - -DCMAKE_CXX_COMPILER=eg++ \ - -DCMAKE_MAKE_PROGRAM=gmake \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DHDF5_ENABLE_ALL_WARNINGS:BOOL=ON \ -DHDF5_ENABLE_PARALLEL:BOOL=OFF \