From fd5394131e2f1ca2d2cf6256ba2539b0789ee097 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 08:36:58 +0000 Subject: [PATCH 1/5] build(deps): bump actions/upload-artifact from 3 to 4 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/sync-labels-npm.yml | 2 +- .github/workflows/test-integration.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sync-labels-npm.yml b/.github/workflows/sync-labels-npm.yml index 832de1b..12cffca 100644 --- a/.github/workflows/sync-labels-npm.yml +++ b/.github/workflows/sync-labels-npm.yml @@ -84,7 +84,7 @@ jobs: file-url: https://raw.githubusercontent.com/arduino/tooling-project-assets/main/workflow-templates/assets/sync-labels/${{ matrix.filename }} - name: Pass configuration files to next job via workflow artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: | *.yaml diff --git a/.github/workflows/test-integration.yml b/.github/workflows/test-integration.yml index 4ba6d93..e284c4d 100644 --- a/.github/workflows/test-integration.yml +++ b/.github/workflows/test-integration.yml @@ -145,7 +145,7 @@ jobs: echo "report-artifact-name=${{ github.job }}" >> "$GITHUB_OUTPUT" - name: Save sketches report as workflow artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: sketches-reports name: ${{ steps.report-artifact-name.outputs.report-artifact-name }} From 8d96f1c1e8861e6f1c9833ab3ee4aff33a5a7c97 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Dec 2023 23:14:31 +0000 Subject: [PATCH 2/5] build(deps): bump actions/download-artifact from 3 to 4 Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/sync-labels-npm.yml | 2 +- .github/workflows/test-integration.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sync-labels-npm.yml b/.github/workflows/sync-labels-npm.yml index 12cffca..3d0d02c 100644 --- a/.github/workflows/sync-labels-npm.yml +++ b/.github/workflows/sync-labels-npm.yml @@ -125,7 +125,7 @@ jobs: uses: actions/checkout@v4 - name: Download configuration files artifact - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ env.CONFIGURATIONS_ARTIFACT }} path: ${{ env.CONFIGURATIONS_FOLDER }} diff --git a/.github/workflows/test-integration.yml b/.github/workflows/test-integration.yml index e284c4d..af4f8bb 100644 --- a/.github/workflows/test-integration.yml +++ b/.github/workflows/test-integration.yml @@ -320,7 +320,7 @@ jobs: uses: actions/checkout@v4 - name: Download sketches reports artifact - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ needs.all-inputs.outputs.report-artifact-name }} path: ${{ env.SKETCHES_REPORTS_PATH }} From 36edc8b5ea7ce346e9e59403c50bbfe002b5a297 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 23:59:21 +0000 Subject: [PATCH 3/5] build(deps): bump geekyeggo/delete-artifact from 2 to 5 Bumps [geekyeggo/delete-artifact](https://github.com/geekyeggo/delete-artifact) from 2 to 5. - [Release notes](https://github.com/geekyeggo/delete-artifact/releases) - [Changelog](https://github.com/GeekyEggo/delete-artifact/blob/main/CHANGELOG.md) - [Commits](https://github.com/geekyeggo/delete-artifact/compare/v2...v5) --- updated-dependencies: - dependency-name: geekyeggo/delete-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/sync-labels-npm.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sync-labels-npm.yml b/.github/workflows/sync-labels-npm.yml index 3d0d02c..8faf55b 100644 --- a/.github/workflows/sync-labels-npm.yml +++ b/.github/workflows/sync-labels-npm.yml @@ -131,7 +131,7 @@ jobs: path: ${{ env.CONFIGURATIONS_FOLDER }} - name: Remove unneeded artifact - uses: geekyeggo/delete-artifact@v2 + uses: geekyeggo/delete-artifact@v5 with: name: ${{ env.CONFIGURATIONS_ARTIFACT }} From 77a9c68502322c95e4faa9d27a0428293739bae7 Mon Sep 17 00:00:00 2001 From: per1234 Date: Sat, 19 Oct 2024 09:17:32 -0700 Subject: [PATCH 4/5] Don't upload multiple times to same artifact in label sync workflow The "Sync Labels" GitHub Actions workflow is configured to allow the use of multiple shared label configuration files. This is done by using a job matrix in the GitHub Actions workflow to download each of the files from the source repository in a parallel GitHub Actions workflow job. A GitHub Actions workflow artifact was used to transfer the generated files between sequential jobs in the workflow. The "actions/upload-artifact" and "actions/download-artifact" actions are used for this purpose. Previously, a single artifact was used for the transfer of all the shared label configuration files, with each of the parallel jobs uploading its own generated files to that artifact. However, support for uploading multiple times to a single artifact was dropped in version 4.0.0 of the "actions/upload-artifact" action. So it is now necessary to use a dedicated artifact for each of the builds. These can be downloaded in aggregate by using the artifact name globbing and merging features which were introduced in version 4.1.0 of the "actions/download-artifact" action. --- .github/workflows/sync-labels-npm.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/sync-labels-npm.yml b/.github/workflows/sync-labels-npm.yml index 8faf55b..2e356af 100644 --- a/.github/workflows/sync-labels-npm.yml +++ b/.github/workflows/sync-labels-npm.yml @@ -5,7 +5,7 @@ env: # See: https://github.com/actions/setup-node/#readme NODE_VERSION: 16.x CONFIGURATIONS_FOLDER: .github/label-configuration-files - CONFIGURATIONS_ARTIFACT: label-configuration-files + CONFIGURATIONS_ARTIFACT_PREFIX: label-configuration-file- # See: https://docs.github.com/actions/using-workflows/events-that-trigger-workflows on: @@ -90,7 +90,7 @@ jobs: *.yaml *.yml if-no-files-found: error - name: ${{ env.CONFIGURATIONS_ARTIFACT }} + name: ${{ env.CONFIGURATIONS_ARTIFACT_PREFIX }}${{ matrix.filename }} sync: needs: download @@ -124,16 +124,17 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - name: Download configuration files artifact + - name: Download configuration file artifacts uses: actions/download-artifact@v4 with: - name: ${{ env.CONFIGURATIONS_ARTIFACT }} + merge-multiple: true + pattern: ${{ env.CONFIGURATIONS_ARTIFACT_PREFIX }}* path: ${{ env.CONFIGURATIONS_FOLDER }} - - name: Remove unneeded artifact + - name: Remove unneeded artifacts uses: geekyeggo/delete-artifact@v5 with: - name: ${{ env.CONFIGURATIONS_ARTIFACT }} + name: ${{ env.CONFIGURATIONS_ARTIFACT_PREFIX }}* - name: Setup Node.js uses: actions/setup-node@v4 From 152e5101228083bb27b4c4a09755b51a0256b549 Mon Sep 17 00:00:00 2001 From: per1234 Date: Sat, 19 Oct 2024 09:17:51 -0700 Subject: [PATCH 5/5] Don't upload multiple times to same artifact in integration test workflow The `all-inputs` job of the "Run integration tests" GitHub Actions workflow is configured to generate multiple parallel jobs. A GitHub Actions workflow artifact was used to transfer the sketches report files generated by the "arduino/compile-sketches" action in each job to the subsequent job. The "actions/upload-artifact" and "actions/download-artifact" actions are used for this purpose. Previously, a single artifact was used for the transfer of all the sketches reports, with each of the parallel jobs uploading its own generated files to that single artifact. However, support for uploading multiple times to a single artifact was dropped in version 4.0.0 of the "actions/upload-artifact" action. So it is now necessary to use a dedicated artifact for each of the parallel jobs. These artifacts can be downloaded in aggregate by using the artifact name globbing and merging features which were introduced in version 4.1.0 of the "actions/download-artifact" action. --- .github/workflows/test-integration.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test-integration.yml b/.github/workflows/test-integration.yml index af4f8bb..134c8ab 100644 --- a/.github/workflows/test-integration.yml +++ b/.github/workflows/test-integration.yml @@ -92,6 +92,7 @@ jobs: matrix: board: - fqbn: arduino:avr:uno + artifact-name-suffix: arduino-avr-uno platforms: | - name: arduino:avr version: 1.8.3 @@ -100,6 +101,7 @@ jobs: version: 1.1.7 # Board that requires Boards Manager URL - fqbn: esp8266:esp8266:huzzah + artifact-name-suffix: esp8266-esp8266-huzzah platforms: | - name: esp8266:esp8266 source-url: https://arduino.esp8266.com/stable/package_esp8266com_index.json @@ -140,18 +142,18 @@ jobs: [ -d ${{ env.TESTDATA_SKETCHES_PATH }}/BareMinimum/build ] - name: Set report artifact name - id: report-artifact-name + id: report-artifact-prefix run: | - echo "report-artifact-name=${{ github.job }}" >> "$GITHUB_OUTPUT" + echo "report-artifact-prefix=${{ github.job }}" >> "$GITHUB_OUTPUT" - name: Save sketches report as workflow artifact uses: actions/upload-artifact@v4 with: path: sketches-reports - name: ${{ steps.report-artifact-name.outputs.report-artifact-name }} + name: ${{ steps.report-artifact-prefix.outputs.report-artifact-prefix }}-${{ matrix.board.artifact-name-suffix }} outputs: - report-artifact-name: ${{ steps.report-artifact-name.outputs.report-artifact-name }} + report-artifact-prefix: ${{ steps.report-artifact-prefix.outputs.report-artifact-prefix }} multiple-steps: name: multiple-steps (${{ matrix.board.source-type }}) @@ -322,8 +324,9 @@ jobs: - name: Download sketches reports artifact uses: actions/download-artifact@v4 with: - name: ${{ needs.all-inputs.outputs.report-artifact-name }} + merge-multiple: true path: ${{ env.SKETCHES_REPORTS_PATH }} + pattern: ${{ needs.all-inputs.outputs.report-artifact-prefix }}* - name: Compare generated sketches report to golden report run: | @@ -349,7 +352,7 @@ jobs: "$reportPath" \ --slurpfile \ golden \ - "${{ env.TESTDATA_REPORTS_PATH }}/${{ needs.all-inputs.outputs.report-artifact-name }}/$(basename "$reportPath")" \ + "${{ env.TESTDATA_REPORTS_PATH }}/${{ needs.all-inputs.outputs.report-artifact-prefix }}/$(basename "$reportPath")" \ '($generated|.[0].boards) == ($golden|.[0].boards)' ) && ( # Check the commit_hash value