Artifact download: don't unzip non-zip artifacts (#2253)

* Download artifact: don't extract the downloaded file if the content-type isn't a zip

* Remove unused `import`

* Add support for specifying whether to skip decompressing

* Prevent path traversal attacks

* Fix indenting

* Update packages/artifact/__tests__/download-artifact.test.ts

Co-authored-by: Copilot <[email protected]>

* Parse the mime type out of the content-type header

Co-authored-by: Copilot <[email protected]>

* Fix some linting issues

* Swap `zip` for `application/zip-compressed`

* Test: negative check for malicious paths

* Increase the timeout on one of the tests

* Check the URL path for `.zip` to see if we can auto-decompress

* Fix linting issue

* Bump the package version and add release notes

* Remove `launch.json`

---------

Co-authored-by: Copilot <[email protected]>
This commit is contained in:
Daniel Kennedy
2026-01-30 12:18:38 -05:00
committed by GitHub
co-authored by Copilot
parent ffae274475
commit 975fcbd402
6 changed files with 436 additions and 39 deletions
+2 -3
View File
@@ -1,12 +1,12 @@
{
"name": "@actions/artifact",
"version": "6.0.0",
"version": "6.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@actions/artifact",
"version": "6.0.0",
"version": "6.1.0",
"license": "MIT",
"dependencies": {
"@actions/core": "^3.0.0",
@@ -1795,7 +1795,6 @@
"version": "5.9.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"dev": true,
"license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",