diff --git a/.ci/vcpkg-configuration.json b/.ci/vcpkg-configuration.json index 2181b12..88970c5 100644 --- a/.ci/vcpkg-configuration.json +++ b/.ci/vcpkg-configuration.json @@ -7,7 +7,7 @@ } ], "requires": { - "arm:tools/open-cmsis-pack/cmsis-toolbox": "^2.14.0", + "arm:tools/open-cmsis-pack/cmsis-toolbox": "^2.14.1", "arm:tools/kitware/cmake": "^4.3.3", "arm:tools/ninja-build/ninja": "^1.13.2", "arm:compilers/arm/armclang": "^6.24.0", diff --git a/.github/workflows/CubeMX-CI.yml b/.github/workflows/CubeMX-CI.yml index 8d23286..5c888a6 100644 --- a/.github/workflows/CubeMX-CI.yml +++ b/.github/workflows/CubeMX-CI.yml @@ -1,35 +1,35 @@ -name: "CubeMX: Test Build" -on: - workflow_dispatch: - pull_request: - branches: [main] - paths: - - CubeMX/** - - .github/workflows/CubeMX-CI.yml - push: - branches: [main] - paths: - - CubeMX/** - - .github/workflows/CubeMX-CI.yml - schedule: - - cron: '00 20 * * 6' - -jobs: - Build: - runs-on: ubuntu-latest - - steps: - - name: Checkout repo - uses: actions/checkout@v7 - - - name: Install tools - uses: ARM-software/cmsis-actions/vcpkg@v1.3 - with: - config: ".ci/vcpkg-configuration.json" - - - name: Activate Arm tool license - uses: ARM-software/cmsis-actions/armlm@v1.3 - - - name: Build project with AC6 - working-directory: ./CubeMX/ - run: cbuild CubeMX.csolution.yml --packs --toolchain AC6 --rebuild +name: "CubeMX: Test Build" +on: + workflow_dispatch: + pull_request: + branches: [main] + paths: + - CubeMX/** + - .github/workflows/CubeMX-CI.yml + push: + branches: [main] + paths: + - CubeMX/** + - .github/workflows/CubeMX-CI.yml + schedule: + - cron: '00 20 * * 6' + +jobs: + Build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repo + uses: actions/checkout@v7 + + - name: Install tools + uses: ARM-software/cmsis-actions/vcpkg@v1 + with: + config: ".ci/vcpkg-configuration.json" + + - name: Activate Arm tool license + uses: ARM-software/cmsis-actions/armlm@v1 + + - name: Build project with AC6 + working-directory: ./CubeMX/ + run: cbuild CubeMX.csolution.yml --packs --toolchain AC6 --rebuild diff --git a/.github/workflows/DualCore-CI.yml b/.github/workflows/DualCore-CI.yml index 6f98d69..e3d1009 100644 --- a/.github/workflows/DualCore-CI.yml +++ b/.github/workflows/DualCore-CI.yml @@ -1,43 +1,43 @@ -name: "DualCore: Test Build" -on: - workflow_dispatch: - pull_request: - branches: [main] - paths: - - DualCore/** - - .github/workflows/DualCore-CI.yml - push: - branches: [main] - paths: - - DualCore/** - - .github/workflows/DualCore-CI.yml - schedule: - - cron: '00 20 * * 6' - -jobs: - Build: - runs-on: ubuntu-latest - - steps: - - name: Checkout repo - uses: actions/checkout@v7 - - - name: Install tools - uses: ARM-software/cmsis-actions/vcpkg@v1 - with: - config: ".ci/vcpkg-configuration.json" - - - name: Activate Arm tool license - uses: ARM-software/cmsis-actions/armlm@v1 - - - name: Build HelloWorld with AC6 and all contexts - working-directory: ./DualCore/ - run: cbuild HelloWorld.csolution.yml --packs --toolchain AC6 - - - name: Upload HelloWorld AC6 build Artifacts - uses: actions/upload-artifact@v7 - with: - name: HelloWorld_AC6 - path: | - ./DualCore/out/ - retention-days: 1 +name: "DualCore: Test Build" +on: + workflow_dispatch: + pull_request: + branches: [main] + paths: + - DualCore/** + - .github/workflows/DualCore-CI.yml + push: + branches: [main] + paths: + - DualCore/** + - .github/workflows/DualCore-CI.yml + schedule: + - cron: '00 20 * * 6' + +jobs: + Build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repo + uses: actions/checkout@v7 + + - name: Install tools + uses: ARM-software/cmsis-actions/vcpkg@v1 + with: + config: ".ci/vcpkg-configuration.json" + + - name: Activate Arm tool license + uses: ARM-software/cmsis-actions/armlm@v1 + + - name: Build HelloWorld with AC6 and all contexts + working-directory: ./DualCore/ + run: cbuild HelloWorld.csolution.yml --packs --toolchain AC6 + + - name: Upload HelloWorld AC6 build Artifacts + uses: actions/upload-artifact@v7 + with: + name: HelloWorld_AC6 + path: | + ./DualCore/out/ + retention-days: 1 diff --git a/.github/workflows/Hello-CI.yml b/.github/workflows/Hello-CI.yml index 08b42b9..c4c8e81 100644 --- a/.github/workflows/Hello-CI.yml +++ b/.github/workflows/Hello-CI.yml @@ -1,77 +1,72 @@ -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@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1 - with: - egress-policy: audit - - - name: Checkout repo - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 - - - 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: Set up Python - uses: actions/setup-python@v6 - with: - python-version: '3.13' - - - 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 +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: Checkout repo + uses: actions/checkout@v7 + + - name: Install tools + uses: ARM-software/cmsis-actions/vcpkg@v1 + with: + config: ".ci/vcpkg-configuration.json" + + - name: Activate Arm tool license + uses: ARM-software/cmsis-actions/armlm@v1 + + - name: Set up Python + uses: actions/setup-python@v7 + with: + python-version: '3.14' + + - 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 diff --git a/.github/workflows/SimpleTZ-CI.yml b/.github/workflows/SimpleTZ-CI.yml index 76ebe9c..d8e5175 100644 --- a/.github/workflows/SimpleTZ-CI.yml +++ b/.github/workflows/SimpleTZ-CI.yml @@ -42,9 +42,9 @@ jobs: uses: ARM-software/cmsis-actions/armlm@v1 - name: Set up Python - uses: actions/setup-python@v6 + uses: actions/setup-python@v7 with: - python-version: '3.13' + python-version: '3.14' - name: Build project CM33_s and CM33_ns for build-type ${{ matrix.build.type }} with ${{ matrix.compiler.name }} working-directory: ./SimpleTrustZone/ diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json index b39d377..5c03d59 100644 --- a/vcpkg-configuration.json +++ b/vcpkg-configuration.json @@ -7,12 +7,12 @@ } ], "requires": { - "arm:tools/open-cmsis-pack/cmsis-toolbox": "^2.13.0", - "arm:tools/kitware/cmake": "^3.31.5", + "arm:tools/open-cmsis-pack/cmsis-toolbox": "^2.14.1", + "arm:tools/kitware/cmake": "^4.3.3", "arm:tools/ninja-build/ninja": "^1.13.2", "arm:compilers/arm/armclang": "^6.24.0", - "arm:compilers/arm/arm-none-eabi-gcc": "^14.2.1", - "arm:compilers/arm/llvm-embedded": "^20.1.0", + "arm:compilers/arm/arm-none-eabi-gcc": "^15.3.1", + "arm:compilers/arm/llvm-embedded": "^22.1.0", "arm:models/arm/avh-fvp": "^11.31.28" } } \ No newline at end of file