Hello: Test Build and Execution #112
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: "Hello: Test Build and Execution" | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - Hello/** | |
| - .github/workflows/Hello-CI.yml | |
| push: | |
| branches: [main] | |
| paths: | |
| - Hello/** | |
| - .github/workflows/Hello-CI.yml | |
| schedule: | |
| - cron: '00 20 * * 6' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: read-all | |
| jobs: | |
| build-and-test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| toolchain: [AC6, GCC, CLANG] | |
| build_type: [Debug, Release] | |
| steps: | |
| - name: Harden the runner (Audit all outbound calls) | |
| uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0 | |
| with: | |
| egress-policy: audit | |
| - name: Checkout repo | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - name: Install tools | |
| uses: ARM-software/cmsis-actions/vcpkg@75fd924d583d17eacdbfaf77f21ca09e335c3c79 # v1 | |
| with: | |
| config: ".ci/vcpkg-configuration.json" | |
| - name: Activate Arm tool license | |
| uses: ARM-software/cmsis-actions/armlm@75fd924d583d17eacdbfaf77f21ca09e335c3c79 # v1 | |
| - name: Build Hello with ${{ matrix.toolchain }} | |
| working-directory: ./Hello/ | |
| run: | | |
| echo "Building with toolchain: ${{ matrix.toolchain }}" | |
| cbuild Hello.csolution.yml --packs --toolchain ${{ matrix.toolchain }} | |
| - name: Run Hello Simulation ${{ matrix.toolchain }}-${{ matrix.build_type }} | |
| working-directory: ./Hello/ | |
| run: | | |
| # Determine file extension | |
| EXT="elf" | |
| if [[ "${{ matrix.toolchain }}" == "AC6" ]]; then EXT="axf"; fi | |
| EXEC=./out/Hello/CS300/${{ matrix.build_type }}/Hello.${EXT} | |
| LOG=./out/Hello/CS300/${{ matrix.build_type }}/${{ matrix.toolchain }}_fvp_stdout.log | |
| FVP_Corstone_SSE-300 \ | |
| -a $EXEC \ | |
| -f ./../FVP/FVP_Corstone_SSE-300/fvp_config.txt \ | |
| -C mps3_board.uart0.out_file=$LOG \ | |
| --simlimit 60 --stat | |
| echo "Show simulation UART output for ${{ matrix.toolchain }} ${{ matrix.build_type }}" | |
| cat $LOG |