Pin Linux Tentacle artifact actions to Node 24-compatible patch versions
The release job in build-publish-linux-tentacle.yml intermittently failed at Download all artifacts after partial success, alongside a Node.js 20 deprecation warning for artifact actions. This PR pins artifact actions to Node 24-compatible v4 patch releases to stabilize artifact handling before the Node 24 runtime enforcement.
-
Workflow hardening: artifact action version pinning
- Updated upload action in
build-binary:-
actions/upload-artifact@v4→actions/upload-artifact@v4.6.2
-
- Updated download action in
release:-
actions/download-artifact@v4→actions/download-artifact@v4.3.0
-
- Updated upload action in
-
Scope
- Single-file change:
.github/workflows/build-publish-linux-tentacle.yml
- No behavior changes outside artifact publish/download steps.
- Single-file change:
- - name: Upload artifact
- uses: actions/upload-artifact@v4
+ - name: Upload artifact
+ uses: actions/upload-artifact@v4.6.2
- - name: Download all artifacts
- uses: actions/download-artifact@v4
+ - name: Download all artifacts
+ uses: actions/download-artifact@v4.3.0
[!WARNING]
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
nuget.hangfire.io
- Triggering command:
/usr/bin/dotnet dotnet test Squid.sln -c Release --nologo(dns block)If you need me to access, download, or install something from one of these locations, you can either:
- Configure Actions setup steps to set up my environment, which run before the firewall is enabled
- Add the appropriate URLs or hosts to the custom allowlist in this repository's Copilot coding agent settings (admins only)
Original prompt
Problem
The release job in .github/workflows/build-publish-linux-tentacle.yml is failing at the "Download all artifacts" step with this error:
##[error] Unable to download artifact(s): Unable to download and extract artifact: Artifact download failed after 5 retries.
##[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.
Two artifacts download successfully but a subsequent one fails after 5 retries. The root cause is that actions/download-artifact@v4 and actions/upload-artifact@v4 are running on the deprecated Node.js 20 runtime, causing instability in artifact handling.
Required Fix
In .github/workflows/build-publish-linux-tentacle.yml:
-
Line 169: Upgrade
actions/upload-artifact@v4toactions/upload-artifact@v4.6.2(or the latest v4.x patch that supports Node.js 24). -
Line 181: Upgrade
actions/download-artifact@v4toactions/download-artifact@v4.3.0(or the latest v4.x patch that supports Node.js 24).
These pinned versions include Node.js 24 compatibility fixes that resolve the artifact download reliability issue. GitHub will force Node.js 24 starting June 2nd, 2026, so this upgrade is also necessary for future-proofing.
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 Build & Publish Linux Tentacle is failing at the Download all artifacts step in the release job (line 180-184) with this error:
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.
Root Cause
The actions/download-artifact@v4 action is running on Node.js 20, which is deprecated and causing intermittent failures when downloading artifacts. The artifact download partially succeeds (2 artifacts downloaded) but then fails on a subsequent one after 5 retries, suggesting a compatibility or transient infrastructure issue tied to the deprecated Node.js 20 runtime.
Solution
Upgrade actions/download-artifact (and actions/upload-artifact) to v4.6+ or the latest major version that supports Node.js 24, which resolves the deprecation and the associated download reliability issues.
In .github/workflows/build-publish-linux-tentacle.yml, make the following changes:
1. Update upload-artifact (line 169):
- name: Upload artifact
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v4.6.2
with:
name: squid-tentacle-${{ matrix.rid }}
path: dist/squid-tentacle-*${{ matrix.rid }}.tar.gz
2. Update download-artifact (line 181):
- name: Download all artifacts
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v4.3.0
with:
path: artifacts
merge-multiple: true
Note: Use the latest patch versions available —
v4.6.2for upload andv4.3.0for download (or newer if available). These versions include Node.js 24 compatibility fixes. Alternatively, you can jump to@v5if a major version bump is acceptable, as GitHub will force Node.js 24 starting June 2, 2026.
3. (Optional) Add retry logic as a safeguard
If transient network issues persist even after the upgrade, you can wrap the download step with a retry:
- name: Download all artifacts
uses: actions/download-artifact@v4.3.0
with:
path: artifacts
merge-multiple: true
timeout-minutes: 10
After applying these version bumps, re-run the workflow. The Node.js deprecation warning will be resolved and the artifact download reliability issue should be fixed.
User: 开始
Assistant: ## 失败分析
release 作业在第 180-184 行的 "Download all artifacts" 步骤失败,错误如下:
##[error] Unable to download artifact(s): Unable to download and extract artifact: Artifact download failed after 5 retries.
同时有一条弃用警告:
##[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.
Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026.
根本原因
`actions/download-artifact@...
This pull request was created from Copilot chat.