name: Compile Examples # See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows on: push: paths: - ".github/workflows/compile-examples.yml" - "examples/**" - "src/**" pull_request: paths: - ".github/workflows/compile-examples.yml" - "examples/**" - "src/**" schedule: # Run every Tuesday at 8 AM UTC to catch breakage caused by changes to external resources (libraries, platforms). - cron: "0 8 * * TUE" workflow_dispatch: repository_dispatch: jobs: build: name: ${{ matrix.board.fqbn }} runs-on: ubuntu-latest env: SKETCHES_REPORTS_PATH: sketches-reports strategy: fail-fast: false matrix: board: - fqbn: arduino:samd:arduino_zero_edbg platforms: | - name: arduino:samd artifact-name-suffix: arduino-samd-arduino_zero_edbg - fqbn: arduino:samd:mkr1000 platforms: | - name: arduino:samd artifact-name-suffix: arduino-samd-mkr1000 - fqbn: arduino:samd:mkrzero platforms: | - name: arduino:samd artifact-name-suffix: arduino-samd-mkrzero - fqbn: arduino:samd:mkrwifi1010 platforms: | - name: arduino:samd artifact-name-suffix: arduino-samd-mkrwifi1010 - fqbn: arduino:samd:mkrfox1200 platforms: | - name: arduino:samd artifact-name-suffix: arduino-samd-mkrfox1200 - fqbn: arduino:samd:mkrwan1300 platforms: | - name: arduino:samd artifact-name-suffix: arduino-samd-mkrwan1300 - fqbn: arduino:samd:mkrwan1310 platforms: | - name: arduino:samd artifact-name-suffix: arduino-samd-mkrwan1310 - fqbn: arduino:samd:mkrgsm1400 platforms: | - name: arduino:samd artifact-name-suffix: arduino-samd-mkrgsm1400 - fqbn: arduino:samd:mkrnb1500 platforms: | - name: arduino:samd artifact-name-suffix: arduino-samd-mkrnb1500 - fqbn: arduino:samd:mkrvidor4000 platforms: | - name: arduino:samd artifact-name-suffix: arduino-samd-mkrvidor4000 - fqbn: arduino:samd:nano_33_iot platforms: | - name: arduino:samd artifact-name-suffix: arduino-samd-nano_33_iot - fqbn: arduino:samd:tian platforms: | - name: arduino:samd artifact-name-suffix: arduino-samd-tian sketch-paths: | - examples/TianStandby steps: - name: Checkout repository uses: actions/checkout@v4 - name: Compile examples uses: arduino/compile-sketches@v1 with: github-token: ${{ secrets.GITHUB_TOKEN }} fqbn: ${{ matrix.board.fqbn }} platforms: ${{ matrix.board.platforms }} libraries: | # Install the library from the local path. - source-path: ./ - name: RTCZero sketch-paths: | # Sketches to compile for all boards - examples/AdcWakeup - examples/ExternalWakeup - examples/TimedWakeup # Board-specific sketches ${{ matrix.board.sketch-paths }} enable-deltas-report: true sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }} - name: Save sketches report as workflow artifact uses: actions/upload-artifact@v4 with: if-no-files-found: error path: ${{ env.SKETCHES_REPORTS_PATH }} name: sketches-report-${{ matrix.board.artifact-name-suffix }}