name: Build IAR on: workflow_dispatch: push: paths: - 'src/**' - 'examples/**' - 'lib/**' - 'hw/**' - 'tools/get_deps.py' - 'test/hil/**' - '.github/workflows/build_iar.yml' pull_request: branches: [ master ] paths: - 'src/**' - 'examples/**' - 'lib/**' - 'hw/**' - 'tools/get_deps.py' - 'test/hil/**' - '.github/workflows/build_iar.yml' concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: cmake: if: github.repository_owner == 'hathach' 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 stm32f7 stm32g0 stm32g4 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@v4 - 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