From bdf179561862207fc4b0f0d2e49e44c1a759dc15 Mon Sep 17 00:00:00 2001 From: per1234 Date: Sat, 2 Nov 2024 22:30:23 -0700 Subject: [PATCH] [skip changelog] Only download required artifact in Windows Installer job of release workflows The project's nightly build and production release workflows generate a Windows Installer package of Arduino CLI. This is generated from the Windows x86-64 build, which is produced by a prior job. The builds are transferred between jobs by GitHub Actions workflow artifacts, one for each host architecture. Previously, the "create-windows-installer" job that generates the Windows Installer package unnecessarily downloaded all the build artifacts, even though it only requires the Windows x86-64 artifact. In addition to being inefficient, this was problematic because the "create-windows-installer" job is running in parallel with the "notarize-macos" job, which modifies the macOS artifacts. In order to fix a bug in the workflow, the "notarize-macos" job was recently changed to delete the non-notarized macOS artifacts after downloading them so that the job could replace those artifacts with the notarized builds. This caused the "create-windows-installer" job's download of the macOS artifacts to fail when it attempted to download them after the time the parallel "notarize-macos" job had deleted them (but before the "notarize-macos" job had uploaded the artifacts again). The solution to the problem is to configure the "create-windows-installer" job to only download the artifact it requires. This artifact is not modified by any parallel job so there is no danger of a conflict. --- .github/workflows/publish-go-nightly-task.yml | 3 +-- .github/workflows/release-go-task.yml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-go-nightly-task.yml b/.github/workflows/publish-go-nightly-task.yml index 66e6195f1d2..ade13e6c2ef 100644 --- a/.github/workflows/publish-go-nightly-task.yml +++ b/.github/workflows/publish-go-nightly-task.yml @@ -201,8 +201,7 @@ jobs: - name: Download artifacts uses: actions/download-artifact@v4 with: - pattern: ${{ env.ARTIFACT_NAME }}-* - merge-multiple: true + name: ${{ env.ARTIFACT_NAME }}-Windows_64bit path: ${{ env.DIST_DIR }} - name: Prepare PATH diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index 44fb3102d7a..d61142f066d 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -201,8 +201,7 @@ jobs: - name: Download artifacts uses: actions/download-artifact@v4 with: - pattern: ${{ env.ARTIFACT_NAME }}-* - merge-multiple: true + name: ${{ env.ARTIFACT_NAME }}-Windows_64bit path: ${{ env.DIST_DIR }} - name: Prepare PATH