feat: add error handling without invoking the google test test environment #309
This file contains 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.2.0@sha256:c47fcc83b59fb08f3a3a6e591b18bad49b3862acc35770fca6cec9ad0adb9cb2 # v5.2.0 | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2 | |
id: cache-winsdk | |
with: | |
path: /winsdk | |
key: cache-winsdk | |
- if: ${{ steps.cache-winsdk.outputs.cache-hit != 'true' }} | |
run: ./get-winsdk.sh | |
- uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 | |
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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 | |
with: | |
key: ${{ github.job }} | |
max-size: 2G | |
- uses: seanmiddleditch/gha-setup-ninja@96bed6edff20d1dd61ecff9b75cc519d516e6401 # v5 | |
- 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@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 | |
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.2.0@sha256:c47fcc83b59fb08f3a3a6e591b18bad49b3862acc35770fca6cec9ad0adb9cb2 # v5.2.0 | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 | |
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@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 | |
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.2.0@sha256:c47fcc83b59fb08f3a3a6e591b18bad49b3862acc35770fca6cec9ad0adb9cb2 # v5.2.0 | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 | |
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@170bf24d20d201b842d7a52403b73ed297e6645b # v2.18.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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
persist-credentials: false | |
- uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 | |
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@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 | |
with: | |
name: test-logs | |
path: build/host-single-Dbebug/Testing/Temporary/ |