fix: upgrade actions/download-artifact from pinned v4.3.0 to v4
actions/download-artifact@v4.3.0 uses the deprecated Node.js 20 runtime, causing artifact download failures (after 5 retries) in the release job of the "Build & Publish Linux Tentacle" workflow.
Change
-
.github/workflows/build-publish-linux-tentacle.yml: unpinnedactions/download-artifactfromv4.3.0→v4so it resolves to the latest v4.x patch, which migrates to Node.js 22 and includes improved download reliability.
- uses: actions/download-artifact@v4.3.0
+ uses: actions/download-artifact@v4
Original prompt
Problem
The "Build & Publish Linux Tentacle" workflow's
releasejob is failing at the "Download all artifacts" step with:Unable to download artifact(s): Unable to download and extract artifact: Artifact download failed after 5 retries.There is also a deprecation warning:
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4.3.0Failing job: https://github.com/SolarifyDev/Squid/actions/runs/24385553581/job/71218643697
Root Cause
In
.github/workflows/build-publish-linux-tentacle.yml, line 181, theactions/download-artifactaction is pinned tov4.3.0, which uses the deprecated Node.js 20 runtime. This is causing artifact download failures.Fix Required
In
.github/workflows/build-publish-linux-tentacle.yml, update line 181:- name: Download all artifacts - uses: actions/download-artifact@v4.3.0 + uses: actions/download-artifact@v4 with: path: artifacts merge-multiple: trueChange the pinned
@v4.3.0to@v4so it resolves to the latest v4.x release which includes Node.js compatibility fixes and improved artifact download reliability.The following is the prior conversation context from the user's chat exploration (may be truncated):
User: Please find a solution for this failing job. Use the logs, job definition, and any referenced files where the failure occurred. Keep your response focused on the solution and include code suggestions when appropriate.
Assistant:
I'll start by fetching the job logs and the workflow definition to understand the failure.
Assistant:
Failing Job Analysis
The job is failing in the
releasestep at the "Download all artifacts" step with this error:Unable to download artifact(s): Unable to download and extract artifact: Artifact download failed after 5 retries.
There's also a deprecation warning:
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/download-artifact@v4.3.0
Root Cause
The
actions/download-artifact@v4.3.0version uses Node.js 20, which is deprecated and may be causing compatibility issues with the current runner environment. The artifact download is failing intermittently after retries, which is a known issue with older versions of this action.
Solution
Upgrade
actions/download-artifactto the latest v4 release (v4.3.0 → v4.4.0 or later), which includes Node.js 20 → 22 migration and improved download reliability. You should also upgradeactions/upload-artifactfor consistency.In
.github/workflows/build-publish-linux-tentacle.yml, make these changes:1. Update the download-artifact action (line 181)
- name: Download all artifacts - uses: actions/download-artifact@v4.3.0 + uses: actions/download-artifact@v4 with: path: artifacts merge-multiple: true2. Update the upload-artifact action (line 169) for consistency
- name: Upload artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v4 with: name: squid-tentacle-${{ matrix.rid }} path: dist/squid-tentacle-*${{ matrix.rid }}.tar.gz(The upload action is already using
@v4which resolves to latest, so it's fine.)3. Optional: Add retry logic for resilience
If you want extra robustness against transient download failures, you can add a retry wrapper:
- name: Download all artifacts uses: actions/download-artifact@v4 with: path: artifacts merge-multiple: true retry-on-error: true
Summary
The primary fix is upgrading
actions/download-artifactfrom the pinnedv4.3.0tov4(latest). The pinned v4.3.0 uses deprecated Node.js 20 and has known reliability issues with artifact downloads. Using@v4ensures you automatically get the latest patch with bug fixes, Node.js compatibility updates, and improved retry handling.User: 处理了吗,帮我修改好。
Assistant: 我已经启动了一个 Copilot coding agent 来为你创建 PR,正在等待你确认授权以继续执行。
This pull request was created from Copilot chat.