Repository navigation
Don't attempt to un-zip non-zipped downloads - #460
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request adds a new skip-decompress input parameter to allow users to download artifacts without automatic extraction, addressing scenarios where non-zipped artifacts should be handled as-is. Additionally, it performs a comprehensive migration from CommonJS to ES modules (ESM) and updates dependencies to newer versions.
Changes:
- Added
skip-decompressinput parameter to control automatic artifact decompression - Migrated codebase from CommonJS to ES modules, including TypeScript configuration and test setup
- Updated dependencies including @actions/artifact (^6.1.0), @actions/core (^3.0.0), and various dev dependencies
Reviewed changes
Copilot reviewed 10 out of 15 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.json | Updated TypeScript compiler to use ES2022 target and NodeNext module resolution for ESM support |
| tsconfig.eslint.json | Added separate TypeScript config for ESLint with proper file inclusions |
| src/download-artifact.ts | Added skipDecompress input handling and passed it to downloadArtifact calls; updated import to use .js extension for ESM |
| src/constants.ts | Added SkipDecompress constant to the Inputs enum |
| package.json | Marked as ESM module, updated dependencies to newer versions, modified test script for ESM compatibility |
| jest.config.ts | Converted to ESM export, added ESM configuration including ts-jest useESM option and module name mapping |
| eslint.config.mjs | Replaced legacy .eslintrc.json with flat config format supporting ESM |
| dist/package.json | Added package.json to dist directory marking it as an ES module |
| action.yml | Added skip-decompress input with documentation |
| tests/download.test.ts | Migrated tests to use ESM dynamic imports and added comprehensive test coverage for skip-decompress feature |
| .gitignore | Added .DS_Store to ignored files |
| .eslintrc.json | Removed legacy ESLint configuration file |
| .eslintignore | Removed legacy ESLint ignore file |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
scutuatua-crypto
approved these changes
Feb 19, 2026
yacaovsnc
approved these changes
Feb 23, 2026
mergify Bot
added a commit
to ArcadeData/arcadedb
that referenced
this pull request
Mar 3, 2026
… ci] Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 7.0.0 to 8.0.0. Release notes *Sourced from [actions/download-artifact's releases](https://github.com/actions/download-artifact/releases).* > v8.0.0 > ------ > > v8 - What's new > --------------- > > ### Direct downloads > > To support direct uploads in `actions/upload-artifact`, the action will no longer attempt to unzip all downloaded files. Instead, the action checks the `Content-Type` header ahead of unzipping and skips non-zipped files. Callers wishing to download a zipped file as-is can also set the new `skip-decompress` parameter to `false`. > > ### Enforced checks (breaking) > > A previous release introduced digest checks on the download. If a download hash didn't match the expected hash from the server, the action would log a warning. Callers can now configure the behavior on mismatch with the `digest-mismatch` parameter. To be secure by default, we are now defaulting the behavior to `error` which will fail the workflow run. > > ### ESM > > To support new versions of the @actions/\* packages, we've upgraded the package to ESM. > > What's Changed > -------------- > > * Don't attempt to un-zip non-zipped downloads by [`@danwkennedy`](https://github.com/danwkennedy) in [actions/download-artifact#460](https://github.com/proxy/redirect.github.com/actions/download-artifact/pull/460) > * Add a setting to specify what to do on hash mismatch and default it to `error` by [`@danwkennedy`](https://github.com/danwkennedy) in [actions/download-artifact#461](https://github.com/proxy/redirect.github.com/actions/download-artifact/pull/461) > > **Full Changelog**: <actions/download-artifact@v7...v8.0.0> Commits * [`70fc10c`](actions/download-artifact@70fc10c) Merge pull request [#461](https://github.com/proxy/redirect.github.com/actions/download-artifact/issues/461) from actions/danwkennedy/digest-mismatch-behavior * [`f258da9`](actions/download-artifact@f258da9) Add change docs * [`ccc058e`](actions/download-artifact@ccc058e) Fix linting issues * [`bd7976b`](actions/download-artifact@bd7976b) Add a setting to specify what to do on hash mismatch and default it to `error` * [`ac21fcf`](actions/download-artifact@ac21fcf) Merge pull request [#460](https://github.com/proxy/redirect.github.com/actions/download-artifact/issues/460) from actions/danwkennedy/download-no-unzip * [`15999bf`](actions/download-artifact@15999bf) Add note about package bumps * [`974686e`](actions/download-artifact@974686e) Bump the version to `v8` and add release notes * [`fbe48b1`](actions/download-artifact@fbe48b1) Update test names to make it clearer what they do * [`96bf374`](actions/download-artifact@96bf374) One more test fix * [`b8c4819`](actions/download-artifact@b8c4819) Fix skip decompress test * Additional commits viewable in [compare view](actions/download-artifact@37930b1...70fc10c) [](https://github.com/proxy/docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
This was referenced Mar 31, 2026
This was referenced May 5, 2026
This was referenced May 15, 2026
Merged
tae898
pushed a commit
to humemai/arcadedb-embedded-python
that referenced
this pull request
Jun 28, 2026
… ci] Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 7.0.0 to 8.0.0. Release notes *Sourced from [actions/download-artifact's releases](https://github.com/actions/download-artifact/releases).* > v8.0.0 > ------ > > v8 - What's new > --------------- > > ### Direct downloads > > To support direct uploads in `actions/upload-artifact`, the action will no longer attempt to unzip all downloaded files. Instead, the action checks the `Content-Type` header ahead of unzipping and skips non-zipped files. Callers wishing to download a zipped file as-is can also set the new `skip-decompress` parameter to `false`. > > ### Enforced checks (breaking) > > A previous release introduced digest checks on the download. If a download hash didn't match the expected hash from the server, the action would log a warning. Callers can now configure the behavior on mismatch with the `digest-mismatch` parameter. To be secure by default, we are now defaulting the behavior to `error` which will fail the workflow run. > > ### ESM > > To support new versions of the @actions/\* packages, we've upgraded the package to ESM. > > What's Changed > -------------- > > * Don't attempt to un-zip non-zipped downloads by [`@danwkennedy`](https://github.com/danwkennedy) in [actions/download-artifact#460](https://github.com/proxy/redirect.github.com/actions/download-artifact/pull/460) > * Add a setting to specify what to do on hash mismatch and default it to `error` by [`@danwkennedy`](https://github.com/danwkennedy) in [actions/download-artifact#461](https://github.com/proxy/redirect.github.com/actions/download-artifact/pull/461) > > **Full Changelog**: <actions/download-artifact@v7...v8.0.0> Commits * [`70fc10c`](actions/download-artifact@70fc10c) Merge pull request [#461](https://github.com/proxy/redirect.github.com/actions/download-artifact/issues/461) from actions/danwkennedy/digest-mismatch-behavior * [`f258da9`](actions/download-artifact@f258da9) Add change docs * [`ccc058e`](actions/download-artifact@ccc058e) Fix linting issues * [`bd7976b`](actions/download-artifact@bd7976b) Add a setting to specify what to do on hash mismatch and default it to `error` * [`ac21fcf`](actions/download-artifact@ac21fcf) Merge pull request [#460](https://github.com/proxy/redirect.github.com/actions/download-artifact/issues/460) from actions/danwkennedy/download-no-unzip * [`15999bf`](actions/download-artifact@15999bf) Add note about package bumps * [`974686e`](actions/download-artifact@974686e) Bump the version to `v8` and add release notes * [`fbe48b1`](actions/download-artifact@fbe48b1) Update test names to make it clearer what they do * [`96bf374`](actions/download-artifact@96bf374) One more test fix * [`b8c4819`](actions/download-artifact@b8c4819) Fix skip decompress test * Additional commits viewable in [compare view](actions/download-artifact@37930b1...70fc10c) [](https://github.com/proxy/docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
vbraun
pushed a commit
to sagemath/sage
that referenced
this pull request
Jul 26, 2026
gh-42561: build(deps): bump actions/download-artifact from 6 to 8 Bumps [actions/download-artifact](https://github.com/actions/download- artifact) from 6 to 8. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/download- artifact/releases">actions/download-artifact's releases</a>.</em></p> <blockquote> <h2>v8.0.0</h2> <h2>v8 - What's new</h2> <blockquote> <p>[!IMPORTANT] actions/download-artifact@v8 has been migrated to an ESM module. This should be transparent to the caller but forks might need to make significant changes.</p> </blockquote> <blockquote> <p>[!IMPORTANT] Hash mismatches will now error by default. Users can override this behavior with a setting change (see below).</p> </blockquote> <h3>Direct downloads</h3> <p>To support direct uploads in <code>actions/upload-artifact</code>, the action will no longer attempt to unzip all downloaded files. Instead, the action checks the <code>Content-Type</code> header ahead of unzipping and skips non-zipped files. Callers wishing to download a zipped file as-is can also set the new <code>skip-decompress</code> parameter to <code>true</code>.</p> <h3>Enforced checks (breaking)</h3> <p>A previous release introduced digest checks on the download. If a download hash didn't match the expected hash from the server, the action would log a warning. Callers can now configure the behavior on mismatch with the <code>digest-mismatch</code> parameter. To be secure by default, we are now defaulting the behavior to <code>error</code> which will fail the workflow run.</p> <h3>ESM</h3> <p>To support new versions of the @actions/* packages, we've upgraded the package to ESM.</p> <h2>What's Changed</h2> <ul> <li>Don't attempt to un-zip non-zipped downloads by <a href="https://github.com/danwkennedy"><code>@danwkennedy</code></a> in <a href="https://github.com/proxy/redirect.github.com/actions/download- artifact/pull/460">actions/download-artifact#460</a></li> <li>Add a setting to specify what to do on hash mismatch and default it to <code>error</code> by <a href="https://github.com/danwkennedy"><code>@danwkennedy</code></a> in <a href="https://github.com/proxy/redirect.github.com/actions/download- artifact/pull/461">actions/download-artifact#461</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/download- artifact/compare/v7...v8.0.0">https://github.com/actions/download- artifact/compare/v7...v8.0.0</a></p> <h2>v7.0.0</h2> <h2>v7 - What's new</h2> <blockquote> <p>[!IMPORTANT] actions/download-artifact@v7 now runs on Node.js 24 (<code>runs.using: node24</code>) and requires a minimum Actions Runner version of 2.327.1. If you are using self-hosted runners, ensure they are updated before upgrading.</p> </blockquote> <h3>Node.js 24</h3> <p>This release updates the runtime to Node.js 24. v6 had preliminary support for Node 24, however this action was by default still running on Node.js 20. Now this action by default will run on Node.js 24.</p> <h2>What's Changed</h2> <ul> <li>Update GHES guidance to include reference to Node 20 version by <a href="https://github.com/patrikpolyak"><code>@patrikpolyak</code></a> in <a href="https://github.com/proxy/redirect.github.com/actions/download- artifact/pull/440">actions/download-artifact#440</a></li> <li>Download Artifact Node24 support by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://github.com/proxy/redirect.github.com/actions/download- artifact/pull/415">actions/download-artifact#415</a></li> <li>fix: update <code>@actions/artifact</code> to fix Node.js 24 punycode deprecation by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://github.com/proxy/redirect.github.com/actions/download- artifact/pull/451">actions/download-artifact#451</a></li> <li>prepare release v7.0.0 for Node.js 24 support by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://github.com/proxy/redirect.github.com/actions/download- artifact/pull/452">actions/download-artifact#452</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/patrikpolyak"><code>@patrikpolyak</code></a> made their first contribution in <a href="https://github.com/proxy/redirect.github.com/actions/download- artifact/pull/440">actions/download-artifact#440</a></li> <li><a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> made their first contribution in <a href="https://github.com/proxy/redirect.github.com/actions/download- artifact/pull/415">actions/download-artifact#415</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/download- artifact/compare/v6.0.0...v7.0.0">https://github.com/actions/download- artifact/compare/v6.0.0...v7.0.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="actions/download-artifact@3e5f45b 2cfb9172054b4087a40e8e0b5a5461e7c"><code>3e5f45b</code></a> Add regression tests for CJK characters (<a href="https://github.com/proxy/redirect.github.com/actions/download- artifact/issues/471">#471</a>)</li> <li><a href="actions/download-artifact@e6d03f6 7377d4412c7aa56a8e2e4988e6ec479dd"><code>e6d03f6</code></a> Add a regression test for artifact name + content-type mismatches (<a href="https://github.com/proxy/redirect.github.com/actions/download- artifact/issues/472">#472</a>)</li> <li><a href="actions/download-artifact@70fc10c 6e5e1ce46ad2ea6f2b72d43f7d47b13c3"><code>70fc10c</code></a> Merge pull request <a href="https://github.com/proxy/redirect.github.com/actions/download- artifact/issues/461">#461</a> from actions/danwkennedy/digest-mismatch- behavior</li> <li><a href="actions/download-artifact@f258da9 a506b755b84a09a531814700b86ccfc62"><code>f258da9</code></a> Add change docs</li> <li><a href="actions/download-artifact@ccc058e 5fbb0bb2352213eaec3491e117cbc4a5c"><code>ccc058e</code></a> Fix linting issues</li> <li><a href="actions/download-artifact@bd7976b a57ecea96e6f3df575eb922d11a12a9fd"><code>bd7976b</code></a> Add a setting to specify what to do on hash mismatch and default it to <code>error</code></li> <li><a href="actions/download-artifact@ac21fcf 45e0aaee541c0f7030558bdad38d77d6c"><code>ac21fcf</code></a> Merge pull request <a href="https://github.com/proxy/redirect.github.com/actions/download- artifact/issues/460">#460</a> from actions/danwkennedy/download-no- unzip</li> <li><a href="actions/download-artifact@15999bf f51058bc7c19b50ebbba518eaef7c26c0"><code>15999bf</code></a> Add note about package bumps</li> <li><a href="actions/download-artifact@974686e d5098c7f9c9289ec946b9058e496a2561"><code>974686e</code></a> Bump the version to <code>v8</code> and add release notes</li> <li><a href="actions/download-artifact@fbe48b1 d2756394be4cd4358ed3bc1343b330e75"><code>fbe48b1</code></a> Update test names to make it clearer what they do</li> <li>Additional commits viewable in <a href="https://github.com/actions/download- artifact/compare/v6...v8">compare view</a></li> </ul> </details> <br /> [](https://github.com/proxy/docs.github.com/en/github/managing- security-vulnerabilities/about-dependabot-security-updates#about- compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> URL: #42561 Reported by: dependabot[bot] Reviewer(s):
This was referenced Oct 8, 2026
dbmikus
pushed a commit
to gofixpoint/amika
that referenced
this pull request
Oct 23, 2026
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.3.0 to 8.0.2. ## Release notes Sourced from actions/download-artifact's releases. ### v8.0.2 ### What's Changed - Update the readme by `@danwkennedy` in actions/download-artifact#473 - Improves artifact download retries when the service returns HTTP 429 (rate limiting), including honoring valid Retry-After headers. - Update `@actions/artifact` to 6.3.1 by `@tunc-d` in actions/download-artifact#492 - Prepare download-artifact v8.0.2 by `@tunc-d` in actions/download-artifact#493 ### New Contributors - `@tunc-d` made their first contribution in actions/download-artifact#492 Full Changelog: actions/download-artifact@v8.0.1...v8.0.2 ### v8.0.1 ### What's Changed - Support for CJK characters in the artifact name by `@danwkennedy` in actions/download-artifact#471 - Add a regression test for artifact name + content-type mismatches by `@danwkennedy` in actions/download-artifact#472 Full Changelog: actions/download-artifact@v8...v8.0.1 ### v8.0.0 ### v8 - What's new [!IMPORTANT] actions/download-artifact@v8 has been migrated to an ESM module. This should be transparent to the caller but forks might need to make significant changes. [!IMPORTANT] Hash mismatches will now error by default. Users can override this behavior with a setting change (see below). ### Direct downloads To support direct uploads in `actions/upload-artifact`, the action will no longer attempt to unzip all downloaded files. Instead, the action checks the `Content-Type` header ahead of unzipping and skips non-zipped files. Callers wishing to download a zipped file as-is can also set the new `skip-decompress` parameter to `true`. ### Enforced checks (breaking) A previous release introduced digest checks on the download. If a download hash didn't match the expected hash from the server, the action would log a warning. Callers can now configure the behavior on mismatch with the `digest-mismatch` parameter. To be secure by default, we are now defaulting the behavior to `error` which will fail the workflow run. ### ESM To support new versions of the @actions/* packages, we've upgraded the package to ESM. ### What's Changed - Don't attempt to un-zip non-zipped downloads by `@danwkennedy` in actions/download-artifact#460 - Add a setting to specify what to do on hash mismatch and default it to `error` by `@danwkennedy` in actions/download-artifact#461 Full Changelog: actions/download-artifact@v7...v8.0.0 ### v7.0.0 ### v7 - What's new ... (truncated) ## Commits - `9000827` Merge pull request #493 from actions/tunc-d-prepare-download-v8-0-2 - `e455989` Prepare download-artifact v8.0.2 - `a00b90c` Merge pull request #492 from actions/tunc-d-download-artifact-package-bump - `29bb7ce` Update `@actions/artifact` to 6.3.1 - `484a0b5` Update the readme (#473) - `3e5f45b` Add regression tests for CJK characters (#471) - `e6d03f6` Add a regression test for artifact name + content-type mismatches (#472) - `70fc10c` Merge pull request #461 from actions/danwkennedy/digest-mismatch-behavior - `f258da9` Add change docs - `ccc058e` Fix linting issues - Additional commits viewable in compare view
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The toolkit has been updated to check the
content-typeheader and URL for zipped files and intelligently decompress them if it detects a zip. This adds support for that flow to the action.If a caller wants to download a compressed zip as-is, they can pass the new
skip-decompressboolean.Breaking changes:
@actions/artifact