Sync devcontainer version across Dockerfile and GitHub workflows #720
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| name: Build & Test | |
| on: | |
| push: | |
| branches: [main] | |
| tags: | |
| - v** | |
| merge_group: | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.ref }}-${{ github.workflow }} | |
| cancel-in-progress: true | |
| env: | |
| GTEST_COLOR: 1 | |
| jobs: | |
| build-windows: | |
| name: Windows Host Build | |
| runs-on: [ubuntu-latest] | |
| container: ghcr.io/philips-software/amp-devcontainer-cpp:5.6.2@sha256:a0804f7454d52564f07317f7e09a012261b6d9553dbe8854fcf265dce571cf86 # v5.6.2 | |
| steps: | |
| - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 | |
| - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 | |
| id: cache-winsdk | |
| with: | |
| path: /winsdk | |
| key: cache-winsdk-10.0.26100-14.43.17.13 | |
| - if: ${{ steps.cache-winsdk.outputs.cache-hit != 'true' }} | |
| run: ./get-winsdk.sh | |
| - uses: hendrikmuhs/ccache-action@bfa03e1de4d7f7c3e80ad9109feedd05c4f5a716 # v1.2.19 | |
| with: | |
| key: ${{ github.job }} | |
| max-size: 2G | |
| - uses: lukka/run-cmake@af1be47fd7c933593f687731bc6fdbee024d3ff4 # v10.8 | |
| with: | |
| configurePreset: "Windows" | |
| buildPreset: "Windows-Release" | |
| configurePresetAdditionalArgs: "['-DCMAKE_C_COMPILER_LAUNCHER=ccache', '-DCMAKE_CXX_COMPILER_LAUNCHER=ccache']" | |
| build-linux: | |
| name: Linux Host Build | |
| runs-on: [ubuntu-24.04] | |
| steps: | |
| - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 | |
| - uses: hendrikmuhs/ccache-action@bfa03e1de4d7f7c3e80ad9109feedd05c4f5a716 # v1.2.19 | |
| with: | |
| key: ${{ github.job }} | |
| max-size: 2G | |
| - uses: seanmiddleditch/gha-setup-ninja@3b1f8f94a2f8254bd26914c4ab9474d4f0015f67 # v6 | |
| - uses: lukka/run-cmake@af1be47fd7c933593f687731bc6fdbee024d3ff4 # v10.8 | |
| with: | |
| configurePreset: "Host" | |
| buildPreset: "Host-Release" | |
| testPreset: "Host-Release" | |
| configurePresetAdditionalArgs: "['-DCMAKE_C_COMPILER_LAUNCHER=ccache', '-DCMAKE_CXX_COMPILER_LAUNCHER=ccache']" | |
| - name: Upload test logs | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 | |
| with: | |
| name: test-logs | |
| path: build/Host/Testing/Temporary/ | |
| build-linux-devcontainer: | |
| name: Linux Host Build in Devcontainer | |
| runs-on: [ubuntu-latest] | |
| container: ghcr.io/philips-software/amp-devcontainer-cpp:5.6.2@sha256:a0804f7454d52564f07317f7e09a012261b6d9553dbe8854fcf265dce571cf86 # v5.6.2 | |
| steps: | |
| - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 | |
| - uses: hendrikmuhs/ccache-action@bfa03e1de4d7f7c3e80ad9109feedd05c4f5a716 # v1.2.19 | |
| with: | |
| key: ${{ github.job }} | |
| max-size: 2G | |
| - uses: lukka/run-cmake@af1be47fd7c933593f687731bc6fdbee024d3ff4 # v10.8 | |
| with: | |
| configurePreset: "Host" | |
| buildPreset: "Host-Release" | |
| testPreset: "Host-Release" | |
| configurePresetAdditionalArgs: "['-DCMAKE_C_COMPILER_LAUNCHER=ccache', '-DCMAKE_CXX_COMPILER_LAUNCHER=ccache']" | |
| - name: Upload test logs | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 | |
| with: | |
| name: test-logs | |
| path: build/Host/Testing/Temporary/ | |
| test-linux: | |
| name: Linux Host Test | |
| runs-on: [ubuntu-latest] | |
| permissions: | |
| contents: read | |
| issues: read | |
| checks: write | |
| pull-requests: write | |
| container: ghcr.io/philips-software/amp-devcontainer-cpp:5.6.2@sha256:a0804f7454d52564f07317f7e09a012261b6d9553dbe8854fcf265dce571cf86 # v5.6.2 | |
| steps: | |
| - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 | |
| - uses: hendrikmuhs/ccache-action@bfa03e1de4d7f7c3e80ad9109feedd05c4f5a716 # v1.2.19 | |
| with: | |
| key: ${{ github.job }} | |
| max-size: 2G | |
| - uses: lukka/run-cmake@af1be47fd7c933593f687731bc6fdbee024d3ff4 # v10.8 | |
| with: | |
| configurePreset: "Host" | |
| buildPreset: "Host-Debug" | |
| configurePresetAdditionalArgs: "['-DCMAKE_C_COMPILER_LAUNCHER=ccache', '-DCMAKE_CXX_COMPILER_LAUNCHER=ccache']" | |
| - run: | | |
| bats --formatter junit cucumber_cpp/acceptance_test/test.bats | tee test-report.xml | |
| - uses: EnricoMi/publish-unit-test-result-action@34d7c956a59aed1bfebf31df77b8de55db9bbaaf # v2.21.0 | |
| if: always() | |
| with: | |
| files: test-report.xml | |
| host_build_test: | |
| name: Host Build & Test | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [macos-latest, windows-latest] | |
| steps: | |
| - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 | |
| with: | |
| persist-credentials: false | |
| - uses: hendrikmuhs/ccache-action@bfa03e1de4d7f7c3e80ad9109feedd05c4f5a716 # v1.2.19 | |
| with: | |
| key: ${{ github.job }}-${{ matrix.os }} | |
| max-size: 2G | |
| variant: sccache | |
| - uses: lukka/run-cmake@af1be47fd7c933593f687731bc6fdbee024d3ff4 # v10.8 | |
| with: | |
| configurePreset: "host-single-Debug" | |
| buildPreset: "host-single-Debug" | |
| testPreset: "host-single-Debug" | |
| configurePresetAdditionalArgs: "['-DCMAKE_C_COMPILER_LAUNCHER=sccache', '-DCMAKE_CXX_COMPILER_LAUNCHER=sccache']" | |
| - name: Upload test logs | |
| if: ${{ failure() }} | |
| uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 | |
| with: | |
| name: test-logs | |
| path: build/host-single-Dbebug/Testing/Temporary/ |