Skip to content

cache RPM CI

cache RPM CI #79

Workflow file for this run

name: Passenger RPM packaging tests
env:
ENTERPRISE: 0
on:
push: {}
pull_request: {}
jobs:
define-matrix:
runs-on: ubuntu-latest
outputs:
distros: ${{ steps.distros.outputs.distros }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Define Distros
id: distros
run: echo "distros=[$(awk -F= '/DEFAULT_DISTROS/{print $2}' packaging/rpm/internal/lib/distro_info.sh | sed -e 's/ /", "/g')]" >> "$GITHUB_OUTPUT"
test:
name: "Test ${{ matrix.distro }} ${{ matrix.arch.rpm_arch }} packages"
needs: define-matrix
strategy:
fail-fast: false
matrix:
distro: ${{ fromJSON(needs.define-matrix.outputs.distros) }}
arch:
- rpm_arch: x86_64
docker_arch: amd64
runner: ubuntu-24.04
# - rpm_arch: aarch64
# docker_arch: arm64
# runner: passenger-ubuntu-24.04-arm64-4cpu
runs-on: ${{ matrix.arch.runner }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Fetch cache
run: ./dev/ci/fetch-cache-az-blob-storage
env:
AZURE_STORAGE_CONNECTION_STRING: ${{ secrets.AZURE_CI_STORAGE_CONNECTION_STRING }}
CONTAINER_NAME: ${{ vars.SCCACHE_AZURE_BLOB_CONTAINER }}
BLOB_NAME: "binaries/rpm-cache-${{ matrix.distro }}-${{ matrix.arch.rpm_arch }}.tar.zstd"
CACHE_PATH: cache
- run: ./dev/ci/tests/rpm/run
env:
WORKSPACE: ${{ github.workspace }}
RPM_ARCH: ${{ matrix.arch.rpm_arch }}
DOCKER_ARCH: ${{ matrix.arch.docker_arch }}
CACHE_DIR: cache
DISTRIBUTION: ${{ matrix.distro }}
- name: Update cache
run: ./dev/ci/update-cache-az-blob-storage
env:
AZURE_STORAGE_CONNECTION_STRING: ${{ secrets.AZURE_CI_STORAGE_CONNECTION_STRING }}
CONTAINER_NAME: ${{ vars.SCCACHE_AZURE_BLOB_CONTAINER }}
BLOB_NAME: "binaries/rpm-cache-${{ matrix.distro }}-${{ matrix.arch.rpm_arch }}.tar.zstd"
CACHE_PATH: cache
- uses: actions/upload-artifact@v4
with:
name: rpm-${{ matrix.distro }}-${{ matrix.arch.rpm_arch }}
path: 'output/${{ matrix.distro }}/*'