chore: improve configuration store initialization process #3008
Workflow file for this run
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: Continuous Integration | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
types: [opened, synchronize, reopened] | |
merge_group: | |
permissions: | |
contents: read | |
concurrency: | |
group: ${{ github.ref }}-${{ github.workflow }} | |
cancel-in-progress: true | |
env: | |
CMAKE_BUILD_PARALLEL_LEVEL: 2 | |
GTEST_COLOR: 1 | |
jobs: | |
host_build_test_ubuntu: | |
name: Host Build & Test (ubuntu-latest) | |
runs-on: ubuntu-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 }}-ubuntu-latest | |
variant: sccache | |
- uses: seanmiddleditch/gha-setup-ninja@96bed6edff20d1dd61ecff9b75cc519d516e6401 # v5 | |
- uses: lukka/run-cmake@af1be47fd7c933593f687731bc6fdbee024d3ff4 # v10.8 | |
with: | |
configurePreset: "host" | |
buildPreset: "host-Debug-WithPackage" | |
testPreset: "host" | |
configurePresetAdditionalArgs: "['-DCMAKE_C_COMPILER_LAUNCHER=sccache', '-DCMAKE_CXX_COMPILER_LAUNCHER=sccache']" | |
- uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 | |
with: | |
name: emil | |
path: build/host/emil-*-Linux.tar.gz | |
if-no-files-found: error | |
- name: Upload test logs | |
if: ${{ failure() }} | |
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 | |
with: | |
name: test-logs | |
path: build/host/Testing/Temporary/ | |
host_build_test_container: | |
name: Host Build & Test (amp-devcontainer-cpp) | |
runs-on: ubuntu-latest | |
container: ghcr.io/philips-software/amp-devcontainer-cpp:5.1.4@sha256:46239906460dedb3baf3c33d9275f3de4f17d7a237fc136c2013b021589a6dbd # 5.1.4 | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
persist-credentials: false | |
- uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 | |
with: | |
key: ${{ github.job }}-ubuntu-latest | |
- uses: seanmiddleditch/gha-setup-ninja@96bed6edff20d1dd61ecff9b75cc519d516e6401 # v5 | |
- uses: lukka/run-cmake@af1be47fd7c933593f687731bc6fdbee024d3ff4 # v10.8 | |
with: | |
configurePreset: "host" | |
buildPreset: "host-RelWithDebInfo" | |
testPreset: "host-RelWithDebInfo" | |
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/ | |
host_build_test_clang_msvc: | |
name: Host Build & Test (clang-msvc) | |
runs-on: ubuntu-latest | |
container: ghcr.io/philips-software/amp-devcontainer-cpp:5.1.4@sha256:46239906460dedb3baf3c33d9275f3de4f17d7a237fc136c2013b021589a6dbd # 5.1.4 | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
persist-credentials: false | |
- 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: xwin --accept-license splat --preserve-ms-arch-notation --include-debug-libs && mv .xwin-cache/splat/ /winsdk | |
- uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 | |
with: | |
key: ${{ github.job }}-clang-msvc | |
- uses: seanmiddleditch/gha-setup-ninja@96bed6edff20d1dd61ecff9b75cc519d516e6401 # v5 | |
- uses: lukka/run-cmake@af1be47fd7c933593f687731bc6fdbee024d3ff4 # v10.8 | |
with: | |
configurePreset: "host-ClangMsvc" | |
buildPreset: "host-ClangMsvc-Debug" | |
configurePresetAdditionalArgs: "['-DCMAKE_C_COMPILER_LAUNCHER=ccache', '-DCMAKE_CXX_COMPILER_LAUNCHER=ccache']" | |
host_build_test: | |
name: Host Build & Test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [macos-latest, windows-latest, windows-2019] | |
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 }} | |
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/Testing/Temporary/ | |
host_build_no_mbedtls: | |
name: Host Build without MbedTLS | |
runs-on: ubuntu-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 }}-ubuntu-latest | |
variant: sccache | |
- uses: seanmiddleditch/gha-setup-ninja@96bed6edff20d1dd61ecff9b75cc519d516e6401 # v5 | |
- uses: lukka/run-cmake@af1be47fd7c933593f687731bc6fdbee024d3ff4 # v10.8 | |
with: | |
configurePreset: "host-no-mbedtls" | |
buildPreset: "host-no-mbedtls-Debug" | |
configurePresetAdditionalArgs: "['-DCMAKE_C_COMPILER_LAUNCHER=sccache', '-DCMAKE_CXX_COMPILER_LAUNCHER=sccache']" | |
embedded_build: | |
name: Embedded Build | |
runs-on: ubuntu-latest | |
needs: [host_build_test_ubuntu] | |
strategy: | |
matrix: | |
gcc: ["7-2018-q2", "8-2019-q3", "9-2020-q2", "10.3-2021.10"] | |
configuration: ["RelWithDebInfo"] | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
persist-credentials: false | |
- name: Install GNU Arm Embedded Toolchain ${{ matrix.gcc }} | |
uses: carlosperate/arm-none-eabi-gcc-action@0cc83a7330501be1848887e2966aaceb49a4bb12 # v1.9.1 | |
with: | |
release: ${{ matrix.gcc }} | |
- run: sudo apt-get update && sudo apt-get install ninja-build | |
- uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 | |
with: | |
key: ${{ github.job }}-${{ matrix.gcc }}-${{ matrix.configuration }} | |
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 | |
with: | |
name: emil | |
- run: tar -zxvf emil-*.tar.gz | |
- run: mkdir install && mv emil-*/* install/ | |
- uses: lukka/run-cmake@af1be47fd7c933593f687731bc6fdbee024d3ff4 # v10.8 | |
with: | |
configurePreset: "embedded" | |
buildPreset: "embedded-${{ matrix.configuration }}" | |
configurePresetAdditionalArgs: "['-DCMAKE_C_COMPILER_LAUNCHER=ccache', '-DCMAKE_CXX_COMPILER_LAUNCHER=ccache']" | |
embedded_build_without_host_install: | |
name: Embedded Build Without Host Install | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
persist-credentials: false | |
- name: Install GNU Arm Embedded Toolchain 10.3-2021.10 | |
uses: carlosperate/arm-none-eabi-gcc-action@0cc83a7330501be1848887e2966aaceb49a4bb12 # v1.9.1 | |
with: | |
release: "10.3-2021.10" | |
- run: sudo apt-get update && sudo apt-get install ninja-build | |
- uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 | |
with: | |
key: ${{ github.job }} | |
- uses: lukka/run-cmake@af1be47fd7c933593f687731bc6fdbee024d3ff4 # v10.8 | |
with: | |
configurePreset: "embedded" | |
buildPreset: "embedded-RelWithDebInfo" | |
configurePresetAdditionalArgs: "['-DCMAKE_C_COMPILER_LAUNCHER=ccache', '-DCMAKE_CXX_COMPILER_LAUNCHER=ccache']" | |
rtos: | |
name: Embedded Build - RTOS | |
runs-on: ubuntu-latest | |
needs: [host_build_test_ubuntu] | |
strategy: | |
matrix: | |
rtos: ["FreeRTOS", "ThreadX"] | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
persist-credentials: false | |
- name: Install GNU Arm Embedded Toolchain 10.3-2021.10 | |
uses: carlosperate/arm-none-eabi-gcc-action@0cc83a7330501be1848887e2966aaceb49a4bb12 # v1.9.1 | |
with: | |
release: "10.3-2021.10" | |
- run: sudo apt-get update && sudo apt-get install ninja-build | |
- uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 | |
with: | |
key: ${{ github.job }} | |
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 | |
with: | |
name: emil | |
- run: tar -zxvf emil-*.tar.gz | |
- run: mkdir install && mv emil-*/* install/ | |
- uses: lukka/run-cmake@af1be47fd7c933593f687731bc6fdbee024d3ff4 # v10.8 | |
with: | |
configurePreset: "embedded-${{ matrix.rtos }}" | |
buildPreset: "embedded-${{ matrix.rtos }}-RelWithDebInfo" | |
configurePresetAdditionalArgs: "['-DCMAKE_C_COMPILER_LAUNCHER=ccache', '-DCMAKE_CXX_COMPILER_LAUNCHER=ccache']" |