From 0e038a0916f638b1ab84667bf2c2fdcdf53b5252 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Mon, 26 Jul 2021 17:38:33 +0200 Subject: [PATCH] Split GitHub actions ... to allow to re-run a minimum. --- .github/workflows/deb.yml | 128 ++++++++++++ .github/workflows/docker.yml | 2 +- .github/workflows/packages.yml | 351 --------------------------------- .github/workflows/raspbian.yml | 89 +++++++++ .github/workflows/rpm.yml | 116 +++++++++++ .github/workflows/windows.yml | 48 +++++ 6 files changed, 382 insertions(+), 352 deletions(-) create mode 100644 .github/workflows/deb.yml delete mode 100644 .github/workflows/packages.yml create mode 100644 .github/workflows/raspbian.yml create mode 100644 .github/workflows/rpm.yml create mode 100644 .github/workflows/windows.yml diff --git a/.github/workflows/deb.yml b/.github/workflows/deb.yml new file mode 100644 index 000000000..e93d1a500 --- /dev/null +++ b/.github/workflows/deb.yml @@ -0,0 +1,128 @@ +name: .deb + +on: + push: + branches: + - master + - 'support/*' + pull_request: {} + +jobs: + deb: + name: .deb + + strategy: + fail-fast: false + matrix: + distro: + - name: debian + codename: bullseye + has32bit: true + - name: debian + codename: buster + has32bit: true + - name: debian + codename: stretch + has32bit: true + - name: ubuntu + codename: hirsute + has32bit: false + - name: ubuntu + codename: groovy + has32bit: false + - name: ubuntu + codename: focal + has32bit: false + - name: ubuntu + codename: bionic + has32bit: true + + runs-on: ubuntu-latest + + steps: + - name: Cancel previous jobs for the same PR + if: "github.event_name == 'pull_request'" + uses: styfle/cancel-workflow-action@89f242ee29e10c53a841bfe71cc0ce7b2f065abc + with: + workflow_id: deb.yml,docker.yml,raspbian.yml,rpm.yml,windows.yml + access_token: ${{ secrets.GITHUB_TOKEN }} + + - 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 diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index a4ff677e4..6385f787b 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -19,7 +19,7 @@ jobs: if: "github.event_name == 'pull_request'" uses: styfle/cancel-workflow-action@89f242ee29e10c53a841bfe71cc0ce7b2f065abc with: - workflow_id: docker.yml,packages.yml + workflow_id: deb.yml,docker.yml,raspbian.yml,rpm.yml,windows.yml access_token: ${{ secrets.GITHUB_TOKEN }} - name: Docker image diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml deleted file mode 100644 index 2e7c4c899..000000000 --- a/.github/workflows/packages.yml +++ /dev/null @@ -1,351 +0,0 @@ -name: Packages - -on: - push: - branches: - - master - - 'support/*' - pull_request: {} - -jobs: - deb: - name: .deb - - strategy: - fail-fast: false - matrix: - distro: - - name: debian - codename: bullseye - has32bit: true - - name: debian - codename: buster - has32bit: true - - name: debian - codename: stretch - has32bit: true - - name: ubuntu - codename: hirsute - has32bit: false - - name: ubuntu - codename: groovy - has32bit: false - - name: ubuntu - codename: focal - has32bit: false - - name: ubuntu - codename: bionic - has32bit: true - - runs-on: ubuntu-latest - - steps: - - name: Cancel previous jobs for the same PR - if: "github.event_name == 'pull_request'" - uses: styfle/cancel-workflow-action@89f242ee29e10c53a841bfe71cc0ce7b2f065abc - with: - workflow_id: docker.yml,packages.yml - access_token: ${{ secrets.GITHUB_TOKEN }} - - - 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 - rpm: - name: .rpm - - strategy: - fail-fast: false - matrix: - distro: - - name: centos - release: 8 - - name: centos - release: 7 - - name: fedora - release: 34 - - name: fedora - release: 33 - - name: sles - release: '15.2' - - name: sles - release: '12.5' - - name: opensuse - release: '15.2' - - runs-on: ubuntu-latest - - steps: - - name: Cancel previous jobs for the same PR - if: "github.event_name == 'pull_request'" - uses: styfle/cancel-workflow-action@89f242ee29e10c53a841bfe71cc0ce7b2f065abc - with: - workflow_id: docker.yml,packages.yml - access_token: ${{ secrets.GITHUB_TOKEN }} - - - name: Vars - id: vars - env: - GITLAB_REGISTRY_RO_TOKEN: '${{ secrets.GITLAB_REGISTRY_RO_TOKEN }}' - run: | - if [ '${{ matrix.distro.name }}' = sles ]; then - if [ "$(tr -d '\n' <<<"$GITLAB_REGISTRY_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_REGISTRY_RO_TOKEN: '${{ secrets.GITLAB_REGISTRY_RO_TOKEN }}' - run: | - docker login registry.icinga.com -u build-docker/sles --password-stdin <<<"$GITLAB_REGISTRY_RO_TOKEN" - - - name: rpm-icinga2 - if: "steps.vars.outputs.CAN_BUILD == 'true'" - run: | - set -exo pipefail - git clone https://git.icinga.com/packaging/rpm-icinga2.git - 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 - raspbian: - name: Raspbian - - strategy: - fail-fast: false - matrix: - codename: - - buster - - runs-on: ubuntu-latest - - steps: - - name: Cancel previous jobs for the same PR - if: "github.event_name == 'pull_request'" - uses: styfle/cancel-workflow-action@89f242ee29e10c53a841bfe71cc0ce7b2f065abc - with: - workflow_id: docker.yml,packages.yml - access_token: ${{ secrets.GITHUB_TOKEN }} - - - name: Checkout HEAD - uses: actions/checkout@v1 - - - name: qemu-user-static - run: | - set -exo pipefail - sudo apt-get update - DEBIAN_FRONTEND=noninteractive sudo apt-get install -y qemu-user-static - - - name: raspbian-icinga2 - run: | - set -exo pipefail - git clone https://git.icinga.com/packaging/raspbian-icinga2.git - chmod o+w raspbian-icinga2 - - - name: Restore/backup ccache - id: ccache - uses: actions/cache@v1 - with: - path: raspbian-icinga2/ccache - key: |- - raspbian/${{ matrix.codename }}-ccache-${{ hashFiles('raspbian-icinga2/ccache') }} - - - name: Binary - run: | - set -exo pipefail - git checkout -B master - if [ -e raspbian-icinga2/ccache ]; then - chmod -R o+w raspbian-icinga2/ccache - fi - docker run --rm \ - -v "$(pwd)/raspbian-icinga2:/raspbian-icinga2" \ - -v "$(pwd)/.git:/icinga2.git:ro" \ - -w /raspbian-icinga2 \ - -e ICINGA_BUILD_PROJECT=icinga2 \ - -e ICINGA_BUILD_TYPE=snapshot \ - -e UPSTREAM_GIT_URL=file:///icinga2.git \ - -e ICINGA_BUILD_DEB_DEFAULT_ARCH=armhf \ - registry.icinga.com/build-docker/raspbian/${{ matrix.codename }} \ - icinga-build-package - -# Setting up icinga2-bin (2.12.0+rc1.25.g5d1c82a3d.20200526.0754+buster-0) ... -# enabling default icinga2 features -# qemu:handle_cpu_signal received signal outside vCPU context @ pc=0x6015c75c -# qemu:handle_cpu_signal received signal outside vCPU context @ pc=0x6015c75c -# qemu:handle_cpu_signal received signal outside vCPU context @ pc=0x600016ea -# dpkg: error processing package icinga2-bin (--configure): -# installed icinga2-bin package post-installation script subprocess returned error exit status 127 -# -# - name: Test -# run: | -# set -exo pipefail -# docker run --rm \ -# -v "$(pwd)/raspbian-icinga2:/raspbian-icinga2" \ -# -w /raspbian-icinga2 \ -# -e ICINGA_BUILD_PROJECT=icinga2 \ -# -e ICINGA_BUILD_TYPE=snapshot \ -# -e ICINGA_BUILD_DEB_DEFAULT_ARCH=armhf \ -# registry.icinga.com/build-docker/raspbian/${{ matrix.codename }} \ -# icinga-build-test - windows: - name: Windows - - strategy: - fail-fast: false - matrix: - bits: [32, 64] - - runs-on: windows-latest - - env: - BITS: '${{ matrix.bits }}' - ICINGA_BUILD_TYPE: snapshot - UPSTREAM_GIT_URL: file://D:/a/icinga2/icinga2/.git - - steps: - - name: Checkout HEAD - uses: actions/checkout@v1 - - - name: windows-icinga2 - run: | - git clone https://git.icinga.com/packaging/windows-icinga2.git - - - name: Build tools - run: | - & .\doc\win-dev.ps1 - - - name: Source - run: | - git checkout -B master - cd windows-icinga2 - & .\source.ps1 - - - name: Binary - working-directory: windows-icinga2 - run: | - New-Item -ItemType Directory -Path 'C:\Program Files\Icinga2\WillBeRemoved' -ErrorAction SilentlyContinue - & .\build.ps1 diff --git a/.github/workflows/raspbian.yml b/.github/workflows/raspbian.yml new file mode 100644 index 000000000..f431ab309 --- /dev/null +++ b/.github/workflows/raspbian.yml @@ -0,0 +1,89 @@ +name: Raspbian + +on: + push: + branches: + - master + - 'support/*' + pull_request: {} + +jobs: + raspbian: + name: Raspbian + + strategy: + fail-fast: false + matrix: + codename: + - buster + + runs-on: ubuntu-latest + + steps: + - name: Cancel previous jobs for the same PR + if: "github.event_name == 'pull_request'" + uses: styfle/cancel-workflow-action@89f242ee29e10c53a841bfe71cc0ce7b2f065abc + with: + workflow_id: deb.yml,docker.yml,raspbian.yml,rpm.yml,windows.yml + access_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Checkout HEAD + uses: actions/checkout@v1 + + - name: qemu-user-static + run: | + set -exo pipefail + sudo apt-get update + DEBIAN_FRONTEND=noninteractive sudo apt-get install -y qemu-user-static + + - name: raspbian-icinga2 + run: | + set -exo pipefail + git clone https://git.icinga.com/packaging/raspbian-icinga2.git + chmod o+w raspbian-icinga2 + + - name: Restore/backup ccache + id: ccache + uses: actions/cache@v1 + with: + path: raspbian-icinga2/ccache + key: |- + raspbian/${{ matrix.codename }}-ccache-${{ hashFiles('raspbian-icinga2/ccache') }} + + - name: Binary + run: | + set -exo pipefail + git checkout -B master + if [ -e raspbian-icinga2/ccache ]; then + chmod -R o+w raspbian-icinga2/ccache + fi + docker run --rm \ + -v "$(pwd)/raspbian-icinga2:/raspbian-icinga2" \ + -v "$(pwd)/.git:/icinga2.git:ro" \ + -w /raspbian-icinga2 \ + -e ICINGA_BUILD_PROJECT=icinga2 \ + -e ICINGA_BUILD_TYPE=snapshot \ + -e UPSTREAM_GIT_URL=file:///icinga2.git \ + -e ICINGA_BUILD_DEB_DEFAULT_ARCH=armhf \ + registry.icinga.com/build-docker/raspbian/${{ matrix.codename }} \ + icinga-build-package + +# Setting up icinga2-bin (2.12.0+rc1.25.g5d1c82a3d.20200526.0754+buster-0) ... +# enabling default icinga2 features +# qemu:handle_cpu_signal received signal outside vCPU context @ pc=0x6015c75c +# qemu:handle_cpu_signal received signal outside vCPU context @ pc=0x6015c75c +# qemu:handle_cpu_signal received signal outside vCPU context @ pc=0x600016ea +# dpkg: error processing package icinga2-bin (--configure): +# installed icinga2-bin package post-installation script subprocess returned error exit status 127 +# +# - name: Test +# run: | +# set -exo pipefail +# docker run --rm \ +# -v "$(pwd)/raspbian-icinga2:/raspbian-icinga2" \ +# -w /raspbian-icinga2 \ +# -e ICINGA_BUILD_PROJECT=icinga2 \ +# -e ICINGA_BUILD_TYPE=snapshot \ +# -e ICINGA_BUILD_DEB_DEFAULT_ARCH=armhf \ +# registry.icinga.com/build-docker/raspbian/${{ matrix.codename }} \ +# icinga-build-test diff --git a/.github/workflows/rpm.yml b/.github/workflows/rpm.yml new file mode 100644 index 000000000..4357d35bb --- /dev/null +++ b/.github/workflows/rpm.yml @@ -0,0 +1,116 @@ +name: .rpm + +on: + push: + branches: + - master + - 'support/*' + pull_request: {} + +jobs: + rpm: + name: .rpm + + strategy: + fail-fast: false + matrix: + distro: + - name: centos + release: 8 + - name: centos + release: 7 + - name: fedora + release: 34 + - name: fedora + release: 33 + - name: sles + release: '15.2' + - name: sles + release: '12.5' + - name: opensuse + release: '15.2' + + runs-on: ubuntu-latest + + steps: + - name: Cancel previous jobs for the same PR + if: "github.event_name == 'pull_request'" + uses: styfle/cancel-workflow-action@89f242ee29e10c53a841bfe71cc0ce7b2f065abc + with: + workflow_id: deb.yml,docker.yml,raspbian.yml,rpm.yml,windows.yml + access_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Vars + id: vars + env: + GITLAB_REGISTRY_RO_TOKEN: '${{ secrets.GITLAB_REGISTRY_RO_TOKEN }}' + run: | + if [ '${{ matrix.distro.name }}' = sles ]; then + if [ "$(tr -d '\n' <<<"$GITLAB_REGISTRY_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_REGISTRY_RO_TOKEN: '${{ secrets.GITLAB_REGISTRY_RO_TOKEN }}' + run: | + docker login registry.icinga.com -u build-docker/sles --password-stdin <<<"$GITLAB_REGISTRY_RO_TOKEN" + + - name: rpm-icinga2 + if: "steps.vars.outputs.CAN_BUILD == 'true'" + run: | + set -exo pipefail + git clone https://git.icinga.com/packaging/rpm-icinga2.git + 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 diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml new file mode 100644 index 000000000..2884876ba --- /dev/null +++ b/.github/workflows/windows.yml @@ -0,0 +1,48 @@ +name: Windows + +on: + push: + branches: + - master + - 'support/*' + pull_request: {} + +jobs: + windows: + name: Windows + + strategy: + fail-fast: false + matrix: + bits: [32, 64] + + runs-on: windows-latest + + env: + BITS: '${{ matrix.bits }}' + ICINGA_BUILD_TYPE: snapshot + UPSTREAM_GIT_URL: file://D:/a/icinga2/icinga2/.git + + steps: + - name: Checkout HEAD + uses: actions/checkout@v1 + + - name: windows-icinga2 + run: | + git clone https://git.icinga.com/packaging/windows-icinga2.git + + - name: Build tools + run: | + & .\doc\win-dev.ps1 + + - name: Source + run: | + git checkout -B master + cd windows-icinga2 + & .\source.ps1 + + - name: Binary + working-directory: windows-icinga2 + run: | + New-Item -ItemType Directory -Path 'C:\Program Files\Icinga2\WillBeRemoved' -ErrorAction SilentlyContinue + & .\build.ps1