diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 11:32:39 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 11:32:39 +0000 |
commit | 56ae875861ab260b80a030f50c4aff9f9dc8fff0 (patch) | |
tree | 531412110fc901a5918c7f7442202804a83cada9 /.github/workflows/rpm.yml | |
parent | Initial commit. (diff) | |
download | icinga2-upstream/2.14.2.tar.xz icinga2-upstream/2.14.2.zip |
Adding upstream version 2.14.2.upstream/2.14.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | .github/workflows/rpm.yml | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/.github/workflows/rpm.yml b/.github/workflows/rpm.yml new file mode 100644 index 0000000..5cf8b10 --- /dev/null +++ b/.github/workflows/rpm.yml @@ -0,0 +1,116 @@ +name: .rpm + +on: + push: + branches: + - master + - 'support/*' + pull_request: {} + +concurrency: + group: rpm-${{ github.event_name == 'push' && github.sha || github.ref }} + cancel-in-progress: true + +jobs: + rpm: + name: .rpm (${{ matrix.distro.name }}, ${{ matrix.distro.release }}) + + strategy: + fail-fast: false + max-parallel: 1 + matrix: + distro: + - name: sles + release: '12.5' + subscription: true + + runs-on: ubuntu-latest + + steps: + - name: Vars + id: vars + env: + GITLAB_RO_TOKEN: '${{ secrets.GITLAB_RO_TOKEN }}' + run: | + if [ ${{ matrix.distro.subscription }} = true ]; then + if [ "$(tr -d '\n' <<<"$GITLAB_RO_TOKEN" |wc -c)" -eq 0 ]; then + echo '::set-output name=CAN_BUILD::false' + echo '::set-output name=NEED_LOGIN::false' + else + echo '::set-output name=CAN_BUILD::true' + echo '::set-output name=NEED_LOGIN::true' + fi + else + echo '::set-output name=CAN_BUILD::true' + echo '::set-output name=NEED_LOGIN::false' + fi + + - name: Checkout HEAD + if: "steps.vars.outputs.CAN_BUILD == 'true'" + uses: actions/checkout@v1 + + - name: Login + if: "steps.vars.outputs.NEED_LOGIN == 'true'" + env: + GITLAB_RO_TOKEN: '${{ secrets.GITLAB_RO_TOKEN }}' + run: | + docker login registry.icinga.com -u github-actions --password-stdin <<<"$GITLAB_RO_TOKEN" + + - name: rpm-icinga2 + if: "steps.vars.outputs.CAN_BUILD == 'true' && !matrix.distro.subscription" + run: | + set -exo pipefail + git clone https://git.icinga.com/packaging/rpm-icinga2.git + chmod o+w rpm-icinga2 + + - name: subscription-rpm-icinga2 + if: "steps.vars.outputs.CAN_BUILD == 'true' && matrix.distro.subscription" + env: + GITLAB_RO_TOKEN: '${{ secrets.GITLAB_RO_TOKEN }}' + run: | + set -exo pipefail + git config --global credential.helper store + cat <<EOF >~/.git-credentials + https://github-actions:${GITLAB_RO_TOKEN}@git.icinga.com + EOF + git clone https://git.icinga.com/packaging/subscription-rpm-icinga2.git rpm-icinga2 + chmod o+w rpm-icinga2 + + - name: Restore/backup ccache + if: "steps.vars.outputs.CAN_BUILD == 'true'" + id: ccache + uses: actions/cache@v1 + with: + path: rpm-icinga2/ccache + key: |- + ${{ matrix.distro.name }}/${{ matrix.distro.release }}-ccache-${{ hashFiles('rpm-icinga2/ccache') }} + + - name: Binary + if: "steps.vars.outputs.CAN_BUILD == 'true'" + run: | + set -exo pipefail + git checkout -B master + if [ -e rpm-icinga2/ccache ]; then + chmod -R o+w rpm-icinga2/ccache + fi + docker run --rm \ + -v "$(pwd)/rpm-icinga2:/rpm-icinga2" \ + -v "$(pwd)/.git:/icinga2.git:ro" \ + -w /rpm-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.release }} \ + icinga-build-package + + - name: Test + if: "steps.vars.outputs.CAN_BUILD == 'true'" + run: | + set -exo pipefail + docker run --rm \ + -v "$(pwd)/rpm-icinga2:/rpm-icinga2" \ + -w /rpm-icinga2 \ + -e ICINGA_BUILD_PROJECT=icinga2 \ + -e ICINGA_BUILD_TYPE=snapshot \ + registry.icinga.com/build-docker/${{ matrix.distro.name }}/${{ matrix.distro.release }} \ + icinga-build-test |