Skip to content

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
  • Scope

    • Single-file change:
      • .github/workflows/build-publish-linux-tentacle.yml
    • No behavior changes outside artifact publish/download steps.
-      - 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:

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:

  1. Line 169: Upgrade actions/upload-artifact@v4 to actions/upload-artifact@v4.6.2 (or the latest v4.x patch that supports Node.js 24).
  2. Line 181: Upgrade actions/download-artifact@v4 to actions/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.2 for upload and v4.3.0 for download (or newer if available). These versions include Node.js 24 compatibility fixes. Alternatively, you can jump to @v5 if 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.

Merge request reports

Loading