diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..77270a3 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,56 @@ +name: Build + +on: + push: + branches: + - main + pull_request: + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: ${{ matrix.context }} + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + context: + - TraceDemo.Debug+MCBSTM32F400 + - TraceDemo.Debug+NUCLEO-F401RE + - TraceDemo.Debug+NUCLEO-F446RE + - TraceDemo.Debug+NUCLEO-F756ZG + - TraceDemo.Debug+NUCLEO-L552ZE-Q + - TraceDemo.Debug+STM32F4-DISCO + - TraceDemo.Debug+STM32F429I-DISCO + - TraceDemo.Debug+STM32H7B3I-DK + + steps: + - name: Checkout + uses: actions/checkout@v7 + + # vcpkg removed the artifact feature after July 1, 2026. + - name: Install vcpkg + uses: ARM-software/cmsis-actions/setup-vcpkg@v1 + with: + version: 2026.04.27 + + - name: Activate build environment + uses: ARM-software/cmsis-actions/vcpkg@v1 + with: + config: ./vcpkg-configuration.json + cache: "-tools" + + - name: Build + run: >- + cbuild Trace.csolution.yml + --context '${{ matrix.context }}' + --packs + --frozen-packs + --update-rte diff --git a/docs/BUILD.md b/docs/BUILD.md index 891fbc7..1a1f658 100644 --- a/docs/BUILD.md +++ b/docs/BUILD.md @@ -3,9 +3,9 @@ ## Environment and dependencies Use CMSIS-Toolbox 2.15.0, GNU Arm Toolchain 14.3.1, CMake 3.31.5 and Ninja 1.13.2. -The CMSIS Solution extension supplies the toolbox; Arm Environment Manager reads -the compiler, CMake and Ninja versions from -[`vcpkg-configuration.json`](../vcpkg-configuration.json). +Arm Environment Manager and CI install these versions from +[`vcpkg-configuration.json`](../vcpkg-configuration.json); the CMSIS Solution +extension can also supply the toolbox for local builds. For a manual installation, put those tools on `PATH`, set `CMSIS_COMPILER_ROOT` to the toolbox's `etc` directory and `GCC_TOOLCHAIN_14_3_1` to the compiler's `bin` diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json index 55734cc..1c63254 100644 --- a/vcpkg-configuration.json +++ b/vcpkg-configuration.json @@ -3,10 +3,11 @@ { "kind": "artifact", "name": "arm", - "location": "https://artifacts.keil.arm.com/vcpkg-ce-registry/registry.zip" + "location": "https://artifacts.tools.arm.com/vcpkg-registry" } ], "requires": { + "arm:tools/open-cmsis-pack/cmsis-toolbox": "2.15.0", "arm:compilers/arm/arm-none-eabi-gcc": "14.3.1", "arm:tools/kitware/cmake": "3.31.5", "arm:tools/ninja-build/ninja": "1.13.2"