From: Joel Rosdahl Date: Sat, 24 Jan 2026 15:29:28 +0000 (+0100) Subject: ci: Add Linux binary releases statically linked with musl X-Git-Tag: v4.13~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bfe34931cf9df312b708b193b8047943ee2d87ac;p=thirdparty%2Fccache.git ci: Add Linux binary releases statically linked with musl Closes #1665. --- diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 6dcfeb0a..3d9884ef 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -260,9 +260,9 @@ jobs: install README.md - build_linux_aarch64_binary: + build_linux_aarch64_binary_glibc: timeout-minutes: 30 - name: Linux aarch64 binary + name: Linux aarch64 binary (glibc) runs-on: ubuntu-22.04 strategy: fail-fast: false @@ -283,13 +283,13 @@ jobs: - name: Upload binary uses: actions/upload-artifact@v4 with: - name: linux-aarch64-binary + name: linux-aarch64-glibc-binary path: install/ccache retention-days: 3 - build_linux_x86_64_binary: + build_linux_x86_64_binary_glibc: timeout-minutes: 30 - name: Linux x86_64 binary + name: Linux x86_64 binary (glibc) runs-on: ubuntu-22.04 container: image: almalinux:8 @@ -321,7 +321,39 @@ jobs: - name: Upload binary uses: actions/upload-artifact@v4 with: - name: linux-x86_64-binary + name: linux-x86_64-glibc-binary + path: install/ccache + retention-days: 3 + + build_linux_musl_static_binary: + timeout-minutes: 30 + name: Linux ${{ matrix.arch }} binary (musl static) + runs-on: ${{ matrix.runner }} + strategy: + fail-fast: false + matrix: + include: + - arch: aarch64 + runner: ubuntu-22.04-arm + - arch: x86_64 + runner: ubuntu-22.04 + steps: + - name: Get source + uses: actions/checkout@v4 + - name: Build in Alpine container + run: | + docker run --rm -v "$PWD:/work" -w /work \ + -e GITHUB_REF \ + -e GITHUB_REF_NAME \ + -e GITHUB_SHA \ + alpine:3.23 sh -c ' + apk add --no-cache bash cmake g++ gcc git hiredis-dev make ninja xxhash-dev zstd-dev + CMAKE_GENERATOR=Ninja CMAKE_PARAMS="-D CMAKE_EXE_LINKER_FLAGS_INIT=-static" ci/build-binary + ' + - name: Upload binary + uses: actions/upload-artifact@v4 + with: + name: linux-${{ matrix.arch }}-musl-static-binary path: install/ccache retention-days: 3 @@ -618,8 +650,9 @@ jobs: needs: - build_darwin_binary - build_documentation - - build_linux_aarch64_binary - - build_linux_x86_64_binary + - build_linux_aarch64_binary_glibc + - build_linux_musl_static_binary + - build_linux_x86_64_binary_glibc - build_windows_binary runs-on: ubuntu-24.04 steps: diff --git a/ci/build-binary b/ci/build-binary index f519ef67..f7e71bce 100755 --- a/ci/build-binary +++ b/ci/build-binary @@ -17,4 +17,4 @@ DESTDIR=$(pwd)/../install cmake --install . --strip cd .. find install -name 'ccache*' -type f -exec mv '{}' install ';' -find install -ls +find install -exec ls -ld '{}' + diff --git a/ci/prepare-release b/ci/prepare-release index 0588b23d..e14e3b00 100755 --- a/ci/prepare-release +++ b/ci/prepare-release @@ -68,13 +68,16 @@ mkdir release prepare_source_release prepare_posix_binary_release darwin gz -prepare_posix_binary_release linux-aarch64 xz -prepare_posix_binary_release linux-x86_64 xz +prepare_posix_binary_release linux-aarch64-glibc xz +prepare_posix_binary_release linux-aarch64-musl-static xz +prepare_posix_binary_release linux-x86_64-glibc xz +prepare_posix_binary_release linux-x86_64-musl-static xz prepare_windows_binary_release windows-aarch64 prepare_windows_binary_release windows-i686 prepare_windows_binary_release windows-x86_64 -test_posix_binary_release linux-x86_64 xz +test_posix_binary_release linux-x86_64-glibc xz +test_posix_binary_release linux-x86_64-musl-static xz ls -l . release