CI Perf Lint

prefer-download-artifact-v8-for-archives

Why it matters

download-artifact v8 introduced skip-decompress: true. Retaining a ZIP instead of extracting it avoids CPU and disk I/O when the next step publishes the archive itself. Updating the action alone does not disable decompression.

What it flags

Findings are exploratory suggestions, consolidated per job. The second case also flags v8+ when skip-decompress is missing.

Suggested action

Use download-artifact v8 or later and set skip-decompress: true when the ZIP file itself is required. Preserve artifact names and download paths.

Do not skip decompression blindly: ordinary upload-artifact uploads add an outer ZIP wrapper. Keeping that wrapper is not equivalent to keeping the inner ZIP. Direct uploads ignore the upload name input and use the file name instead. v8 also makes digest mismatches errors by default; check runner compatibility.

Verification

Compare download duration and disk writes. Verify the release/re-uploaded ZIP’s contents and path, not just whether the job exits successfully.

What the scanner does

Only literal numeric action versions and SHA pins with an exact version comment are classified. Dynamic names/paths, globs, remote runs, ID/pattern selection, explicit decompression settings, ambiguous producers, and v3 GHES downloads are left unclassified. Producer linking is local to this workflow; it does not inspect other workflows or shell consumers.

Reference: download-artifact v8 release.