name: .deb on: push: branches: - master - 'support/*' pull_request: {} concurrency: group: deb-${{ github.ref }} cancel-in-progress: true jobs: deb: name: .deb strategy: fail-fast: false max-parallel: 1 matrix: distro: - name: debian codename: bullseye has32bit: true - name: debian codename: buster has32bit: true - name: ubuntu codename: jammy has32bit: false - name: ubuntu codename: focal has32bit: false runs-on: ubuntu-latest steps: - name: Checkout HEAD uses: actions/checkout@v1 - name: deb-icinga2 run: | set -exo pipefail git clone https://git.icinga.com/packaging/deb-icinga2.git chmod o+w deb-icinga2 - name: Source run: | set -exo pipefail git checkout -B master docker run --rm \ -v "$(pwd)/deb-icinga2:/deb-icinga2" \ -v "$(pwd)/.git:/icinga2.git:ro" \ -w /deb-icinga2 \ -e ICINGA_BUILD_PROJECT=icinga2 \ -e ICINGA_BUILD_TYPE=snapshot \ -e UPSTREAM_GIT_URL=file:///icinga2.git \ registry.icinga.com/build-docker/${{ matrix.distro.name }}/${{ matrix.distro.codename }} \ icinga-build-deb-source - name: Restore/backup ccache id: ccache uses: actions/cache@v1 with: path: deb-icinga2/ccache key: |- ${{ matrix.distro.name }}/${{ matrix.distro.codename }}-ccache-${{ hashFiles('deb-icinga2/ccache') }} - name: Binary x64 run: | set -exo pipefail if [ -e deb-icinga2/ccache ]; then chmod -R o+w deb-icinga2/ccache fi docker run --rm \ -v "$(pwd)/deb-icinga2:/deb-icinga2" \ -w /deb-icinga2 \ -e ICINGA_BUILD_PROJECT=icinga2 \ -e ICINGA_BUILD_TYPE=snapshot \ registry.icinga.com/build-docker/${{ matrix.distro.name }}/${{ matrix.distro.codename }} \ icinga-build-deb-binary - name: Binary x86 if: matrix.distro.has32bit run: | set -exo pipefail docker run --rm \ -v "$(pwd)/deb-icinga2:/deb-icinga2" \ -w /deb-icinga2 \ -e ICINGA_BUILD_PROJECT=icinga2 \ -e ICINGA_BUILD_TYPE=snapshot \ registry.icinga.com/build-docker/${{ matrix.distro.name }}/${{ matrix.distro.codename }}:x86 \ icinga-build-deb-binary - name: Test x64 run: | set -exo pipefail docker run --rm \ -v "$(pwd)/deb-icinga2:/deb-icinga2" \ -w /deb-icinga2 \ -e ICINGA_BUILD_PROJECT=icinga2 \ -e ICINGA_BUILD_TYPE=snapshot \ registry.icinga.com/build-docker/${{ matrix.distro.name }}/${{ matrix.distro.codename }} \ icinga-build-test - name: Test x86 if: matrix.distro.has32bit run: | set -exo pipefail docker run --rm \ -v "$(pwd)/deb-icinga2:/deb-icinga2" \ -w /deb-icinga2 \ -e ICINGA_BUILD_PROJECT=icinga2 \ -e ICINGA_BUILD_TYPE=snapshot \ registry.icinga.com/build-docker/${{ matrix.distro.name }}/${{ matrix.distro.codename }}:x86 \ icinga-build-test