diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index cd9287b..5b8e261 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -19,7 +19,7 @@ on: repository_dispatch: jobs: - build: + compile: name: ${{ matrix.board.fqbn }} runs-on: ubuntu-latest @@ -34,36 +34,47 @@ jobs: - 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 steps: - name: Checkout repository @@ -84,9 +95,27 @@ jobs: enable-deltas-report: true sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }} - - name: Save sketches report as workflow artifact + - name: Upload sketches report to workflow artifact uses: actions/upload-artifact@v4 with: if-no-files-found: error path: ${{ env.SKETCHES_REPORTS_PATH }} - name: ${{ env.SKETCHES_REPORTS_PATH }} + name: sketches-report-${{ matrix.board.artifact-name-suffix }} + + # When using a matrix to compile for multiple boards, it's necessary to use a separate job for the deltas report + report: + needs: compile # Wait for the compile job to finish to get the data for the report + if: github.event_name == 'pull_request' # Only run the job when the workflow is triggered by a pull request + runs-on: ubuntu-latest + + steps: + # This step is needed to get the size data produced by the compile jobs + - name: Download sketches reports artifacts + uses: actions/download-artifact@v4 + with: + # All workflow artifacts will be downloaded to this location. + path: ${{ env.SKETCHES_REPORTS_PATH }} + + - uses: arduino/report-size-deltas@v1 + with: + sketches-reports-source: ${{ env.SKETCHES_REPORTS_PATH }} diff --git a/.github/workflows/report-size-deltas.yml b/.github/workflows/report-size-deltas.yml deleted file mode 100644 index 652be5d..0000000 --- a/.github/workflows/report-size-deltas.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Report Size Deltas - -# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows -on: - push: - paths: - - ".github/workflows/report-size-deltas.yml" - schedule: - # Run at the minimum interval allowed by GitHub Actions. - # Note: GitHub Actions periodically has outages which result in workflow failures. - # In this event, the workflows will start passing again once the service recovers. - - cron: "*/5 * * * *" - workflow_dispatch: - repository_dispatch: - -jobs: - report: - runs-on: ubuntu-latest - steps: - - name: Comment size deltas reports to PRs - uses: arduino/report-size-deltas@v1 - with: - # The name of the workflow artifact created by the sketch compilation workflow - sketches-reports-source: sketches-reports diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..62c8935 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea/ \ No newline at end of file