| name: Build IAR |
| |
| on: |
| workflow_dispatch: |
| push: |
| paths: |
| - 'src/**' |
| - 'examples/**' |
| - 'lib/**' |
| - 'hw/**' |
| - '.github/workflows/build_iar.yml' |
| pull_request: |
| branches: [ master ] |
| paths: |
| - 'src/**' |
| - 'examples/**' |
| - 'lib/**' |
| - 'hw/**' |
| - '.github/workflows/build_iar.yml' |
| |
| concurrency: |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} |
| cancel-in-progress: true |
| |
| jobs: |
| cmake: |
| runs-on: [self-hosted, Linux, X64, hifiphile] |
| strategy: |
| fail-fast: false |
| matrix: |
| family: |
| # Alphabetical order |
| # Note: bundle multiple families into a matrix since there is only one self-hosted instance can |
| # run IAR build. Too many matrix can hurt due to setup/teardown overhead. |
| - 'lpc43 stm32f0 stm32f1 stm32f4 stm32f7 stm32g0 stm32g4 stm32h7 stm32l4' |
| steps: |
| - name: Clean workspace |
| run: | |
| echo "Cleaning up previous run" |
| rm -rf "${{ github.workspace }}" |
| mkdir -p "${{ github.workspace }}" |
| |
| - name: Checkout TinyUSB |
| uses: actions/checkout@v3 |
| |
| - name: Get Dependencies |
| run: python3 tools/get_deps.py ${{ matrix.family }} |
| |
| - name: Build |
| run: python3 tools/build_cmake.py ${{ matrix.family }} -DTOOLCHAIN=iar -DCMAKE_BUILD_TYPE=MinSizeRel |
| |
| - name: Test on actual hardware (hardware in the loop) |
| run: | |
| python3 test/hil/hil_test.py hil_hfp.json |