Compare commits

...

203 Commits

Author SHA1 Message Date
Daniel Kennedy
484a0b528f
Update the readme (#473)
* Update the readme

* Update upload artifact versions

* Add back the GHES support note

* Update the skip-decompress description

* Be more specific with the direct download example

* Add GHES support section to TOC
2026-03-12 09:59:43 -04:00
Daniel Kennedy
3e5f45b2cf
Add regression tests for CJK characters (#471)
* Add regression tests for CJK characters

* Dedupe the names and remove the ignored `name` param

* Bump @actions/artifact to v6.2.1

* Run `npm run release`

* Update licenses
2026-03-11 11:35:54 -04:00
Daniel Kennedy
e6d03f6737
Add a regression test for artifact name + content-type mismatches (#472)
* Add a regression test for artifact name + content-type mismatches

* Specify that we want v4 in a comment

* Fix the expected type
2026-03-11 08:57:07 -04:00
Daniel Kennedy
70fc10c6e5
Merge pull request #461 from actions/danwkennedy/digest-mismatch-behavior
Add a setting to specify what to do on hash mismatch and default it to `error`
2026-02-23 15:27:01 -05:00
Daniel Kennedy
f258da9a50 Add change docs 2026-02-23 15:12:17 -05:00
Daniel Kennedy
ccc058e5fb Fix linting issues 2026-02-23 15:07:11 -05:00
Daniel Kennedy
bd7976ba57 Add a setting to specify what to do on hash mismatch and default it to error 2026-02-23 15:07:11 -05:00
Daniel Kennedy
ac21fcf45e
Merge pull request #460 from actions/danwkennedy/download-no-unzip
Don't attempt to un-zip non-zipped downloads
2026-02-23 15:05:25 -05:00
Daniel Kennedy
15999bff51 Add note about package bumps 2026-02-23 12:32:38 -05:00
Daniel Kennedy
974686ed50 Bump the version to v8 and add release notes 2026-02-23 12:31:19 -05:00
Daniel Kennedy
fbe48b1d27 Update test names to make it clearer what they do 2026-02-23 12:21:41 -05:00
Daniel Kennedy
96bf374a61 One more test fix 2026-02-23 12:18:06 -05:00
Daniel Kennedy
b8c4819ef5 Fix skip decompress test 2026-02-23 12:13:23 -05:00
Daniel Kennedy
7127277c52 Fixup the minimatch license 2026-01-30 15:53:50 -05:00
Daniel Kennedy
41a8b730f4 Re-add minimatch.dep.yml 2026-01-30 15:51:28 -05:00
Daniel Kennedy
6533bb2df3 Revert "Updated the licensed version"
This reverts commit e6afc5e70e.
2026-01-30 15:45:48 -05:00
Daniel Kennedy
e6afc5e70e Updated the licensed version 2026-01-30 15:44:23 -05:00
Daniel Kennedy
87db0e9f47 Cache licenses 2026-01-30 15:34:43 -05:00
Daniel Kennedy
c9ff097e79 Update the integration test 2026-01-30 14:45:33 -05:00
Daniel Kennedy
882c7072ac Add an integration test for skip-decompress 2026-01-30 14:33:56 -05:00
Daniel Kennedy
6d4a0de04f Add tests 2026-01-30 14:19:20 -05:00
Daniel Kennedy
f45b79f03c Don't attempt to un-zip non-zipped downloads 2026-01-30 14:16:38 -05:00
Daniel Kennedy
1d636af56d Upgrade jest and typescript 2026-01-30 14:15:49 -05:00
Daniel Kennedy
43c2394920 Migrate eslint to v9 2026-01-30 14:15:20 -05:00
Daniel Kennedy
3d65dc0e0b Update .gitignore 2026-01-30 14:14:33 -05:00
Salman Chishti
37930b1c2a
Merge pull request #452 from actions/download-artifact-v7-release
prepare release v7.0.0 for Node.js 24 support
2025-12-12 17:58:13 +00:00
Salman Muin Kayser Chishti
72582b9e0a doc: update readme 2025-12-12 17:39:35 +00:00
Salman Muin Kayser Chishti
0d2ec9d4cb chore: release v7.0.0 for Node.js 24 support
- Update to Node.js 24 runtime (runs.using: node24)
- Bump version to 7.0.0
- Update README with v7 release notes
- Rebuild dist
2025-12-12 17:28:48 +00:00
Salman Chishti
fd7ae8fda6
Merge pull request #451 from actions/fix-storage-blob
fix: update @actions/artifact to fix Node.js 24 punycode deprecation
2025-12-12 17:15:11 +00:00
Salman Muin Kayser Chishti
d484700543 chore: restore minimatch.dep.yml license file 2025-12-12 17:06:28 +00:00
Salman Muin Kayser Chishti
03a808050e chore: remove obsolete dependency license files 2025-12-12 17:00:38 +00:00
Salman Muin Kayser Chishti
56fe6d904b chore: update @actions/artifact license file to 5.0.1 2025-12-12 16:55:18 +00:00
Salman Muin Kayser Chishti
8e3ebc4ab4 chore: update package-lock.json with @actions/artifact@5.0.1 2025-12-12 16:48:18 +00:00
Salman Muin Kayser Chishti
1e3c4b4d49 fix: update @actions/artifact to ^5.0.0 for Node.js 24 punycode fix
Updates @actions/artifact dependency to use the published npm version
which includes @azure/storage-blob ^12.29.1 that fixes the punycode
deprecation warning on Node.js 24.
2025-12-12 16:48:12 +00:00
Salman Muin Kayser Chishti
458627d354 chore: use local @actions/artifact package for Node.js 24 testing
This branch uses a local file reference to @actions/artifact which includes
the updated @azure/storage-blob ^12.29.1 to fix the punycode deprecation
warning on Node.js 24.

This is a test branch - do not merge until @actions/artifact@5.0.1 is published.
2025-12-12 15:19:27 +00:00
Salman Chishti
623bd53c6d
Merge pull request #415 from salmanmkc/node24
Download Artifact Node24 support
2025-12-12 14:39:57 +00:00
Salman Muin Kayser Chishti
91bf594342 chore: add minimatch.dep.yml license file 2025-12-12 08:43:16 +00:00
Salman Muin Kayser Chishti
15367cc415 chore: regenerate license cache and fix @bufbuild/protobuf license 2025-12-12 08:34:51 +00:00
Salman Muin Kayser Chishti
983cbdef67 Merge upstream/main and resolve conflicts for node24 2025-12-12 08:29:56 +00:00
Salman Muin Kayser Chishti
24ef429fba chore: update @actions/artifact to use npm package v5.0.0
- Changed from file:../packages/artifact to 5.0.0
- Regenerated package-lock.json
2025-12-12 08:25:39 +00:00
Salman Muin Kayser Chishti
e4bf51d561 chore: update dependencies to use published npm packages 2025-12-11 19:47:24 +00:00
Salman Muin Kayser Chishti
36990830f2 chore: use local @actions/artifact and @actions/core packages 2025-12-09 11:17:38 +00:00
Zachary Taylor
f093f21ca4
Merge pull request #440 from patrikpolyak/patch-1
Update GHES guidance to include reference to Node 20 version
2025-11-03 09:42:58 -05:00
Patrik Polyak
6c8e9a74a3
Fix typo in URL 2025-10-31 10:22:40 +01:00
Patrik Polyak
9fdae6bee7
Update GHES guidance to include reference to Node 20 version 2025-10-31 10:19:21 +01:00
Daniel Kennedy
018cc2cf5b
Merge pull request #438 from actions/danwkennedy/prepare-6.0.0
Prepare `v6.0.0`
2025-10-24 14:15:38 -04:00
Daniel Kennedy
815651c680 Revert "Remove github.dep.yml"
This reverts commit bb3a066a8b.
2025-10-24 14:08:06 -04:00
Daniel Kennedy
bb3a066a8b Remove github.dep.yml 2025-10-24 14:04:55 -04:00
Daniel Kennedy
fa1ce46bbd Prepare v6.0.0 2025-10-24 13:56:00 -04:00
Salman Muin Kayser Chishti
e605cf51ad update dist 2025-10-15 15:19:18 +01:00
Salman Muin Kayser Chishti
a6c73a9235 update licences with temp not using package 2025-09-29 15:19:15 +01:00
Salman Muin Kayser Chishti
3d7939314b Revert licensed workflow changes - keep original behavior 2025-09-29 15:10:00 +01:00
Salman Muin Kayser Chishti
c69518956c Update licensed workflow to cache dependencies before status check 2025-09-29 15:03:02 +01:00
Salman Muin Kayser Chishti
1a965d5855 update 2025-09-29 14:57:31 +01:00
Salman Muin Kayser Chishti
9a17dd726a Fix licensed configuration by ignoring packages with missing license text 2025-09-29 14:57:12 +01:00
Salman Muin Kayser Chishti
d799cd6276 Update licensed configuration for new dependencies with Node 24 support 2025-09-29 14:55:53 +01:00
Salman Muin Kayser Chishti
f2793f092b update licenses 2025-09-29 14:52:08 +01:00
Salman Muin Kayser Chishti
d86c86bb47 Update to use local artifact package v3.0.0
- Switch from @actions/artifact@^2.3.2 to file:../packages/artifact
- Add uri-js-replace security override
- Update @actions/github to v6.0.1 for security fixes
- Rebuild dist/index.js with updated dependencies
- Fix all security vulnerabilities (0 remaining)
2025-09-29 14:18:17 +01:00
Yang Cao
4a24838f3d
Merge pull request #431 from danwkennedy/patch-1
Readme: spell out the first use of GHES
2025-09-24 09:48:26 -04:00
Daniel Kennedy
5e3251c4ff
Readme: spell out the first use of GHES 2025-09-24 09:44:57 -04:00
Yang Cao
abefc31eaf
Merge pull request #424 from actions/yacaovsnc/update_readme
Update README with artifact extraction details
2025-08-25 16:23:50 -04:00
Yang Cao
ac43a6070a
Update README with artifact extraction details
Clarified note on artifact extraction and GHES support.
2025-08-25 14:32:17 -04:00
Yang Cao
de96f4613b
Merge pull request #417 from actions/yacaovsnc/update_readme
Update README for download-artifact v5 changes
2025-08-06 09:03:16 -04:00
Yang Cao
7993cb44e9
Remove migration guide for artifact download changes
Readme probably should be less verbose since it's not a changelog.
2025-08-05 18:06:12 -04:00
Yang Cao
2653c123b8
Update README.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-05 18:02:37 -04:00
Yang Cao
7d782037f3
Update README for download-artifact v5 changes
Updated documentation for download-artifact action to reflect changes in version 5.
2025-08-05 18:01:53 -04:00
Yang Cao
634f93cb29
Merge pull request #416 from actions/single-artifact-id-download-path
fix: inconsistent path behavior for single artifact downloads by ID
2025-08-05 16:50:54 -04:00
GrantBirki
b19ff43027
refactor: resolve download path correctly in artifact download tests (mainly for windows unit tests) 2025-08-05 11:26:03 -07:00
GrantBirki
e262cbee4a
bundle dist 2025-08-05 11:00:44 -07:00
GrantBirki
bff23f9308
update docs 2025-08-05 10:59:33 -07:00
GrantBirki
fff8c148a8
fix download path logic when downloading a single artifact by id 2025-08-05 10:56:18 -07:00
Salman Muin Kayser Chishti
426e7e1989 Update to Node.js 24 and related dependencies
Bump Node.js version to 24 in workflows, action definition, and package requirements. Update @types/node to 24.1.0 and add engines field to enforce Node.js >=24. This ensures compatibility with the latest Node.js features and ecosystem.
2025-07-29 13:57:02 +01:00
Ben De St Paer-Gotch
448e3f862a
Merge pull request #407 from actions/nebuk89-patch-1
Update README.md
2025-06-17 14:18:27 +01:00
Ben De St Paer-Gotch
47225c44b3
Update README.md 2025-06-16 10:11:52 +01:00
Rob Herley
d3f86a106a
Merge pull request #404 from actions/robherley/v4.3.0
Prep for v4.3.0 release
2025-04-24 12:25:03 -04:00
Rob Herley
fc02353415
prep for v4.3.0 release 2025-04-24 11:21:41 -04:00
Josh Gross
77454371a4
Merge pull request #402 from actions/joshmgross/download-by-id-example
Fix workflow example for downloading by artifact ID
2025-04-24 11:04:38 -04:00
Josh Gross
84fc7a0a35
Remove path filters from Check dist workflow 2025-04-23 10:32:04 -04:00
Josh Gross
67f2bc382f
Fix workflow example for downloading by artifact ID 2025-04-23 10:27:20 -04:00
Grant Birkinbine
8ea3c2c174
Merge pull request #401 from actions/download-by-id
feat: implement new `artifact-ids` input
2025-04-22 08:16:56 -07:00
GrantBirki
d219c630f6
add supporting unit tests for artifact downloads with ids 2025-04-17 13:14:21 -07:00
GrantBirki
54124fbd88
revert getArtifact() changes - for now we have to list and filter by artifact-ids until a getArtifactById() public method exists 2025-04-17 12:30:12 -07:00
GrantBirki
b83057b90d
bundle 2025-04-17 12:20:46 -07:00
GrantBirki
171183c7dc
use the same artifactClient.getArtifact structure as seen above in isSingleArtifactDownload logic 2025-04-17 12:18:37 -07:00
GrantBirki
e463631f66
bundle 2025-04-17 11:49:32 -07:00
GrantBirki
ec378bcca1
when only one artifact-id is given, use getArtifact and check the resulting id returned 2025-04-17 11:48:44 -07:00
GrantBirki
42aef06f22
apply https://github.com/actions/download-artifact/pull/401#discussion_r2048225048 suggestion 2025-04-17 09:55:13 -07:00
Grant Birkinbine
ac35f995fe implement new artifact-ids input 2025-04-17 04:47:03 +00:00
Josh Gross
95815c38cf
Merge pull request #391 from GhadimiR/main
Fix bug introduced in 4.2.0
2025-03-19 11:14:44 -04:00
Ryan Ghadimi
278fca438a Move log statements 2025-03-19 15:06:13 +00:00
Ryan Ghadimi
68909842a1
Merge branch 'main' into main 2025-03-19 15:04:09 +00:00
Josh Gross
f9415c0ec3 Run unit tests in CI 2025-03-19 15:01:26 +00:00
Josh Gross
76a6eb5cbc
Merge pull request #392 from GhadimiR/add_unit_tests
Add unit tests
2025-03-19 10:52:21 -04:00
Josh Gross
a2426d7c45
Merge branch 'main' into add_unit_tests 2025-03-19 10:48:52 -04:00
Ryan Ghadimi
3ffa694f6f lint 2025-03-19 12:26:46 +00:00
Ryan Ghadimi
53f6aa5f93 Add extra assertion to download single artifact test 2025-03-19 12:25:37 +00:00
Ryan Ghadimi
b456700053 lint 2025-03-19 11:31:11 +00:00
Ryan Ghadimi
9eab798a98 Configure tsconfig 2025-03-19 11:25:29 +00:00
Ryan Ghadimi
a39a661f39 Unfix error 2025-03-19 11:22:27 +00:00
Ryan Ghadimi
9a869e9c49 Lint 2025-03-19 11:21:30 +00:00
Ryan Ghadimi
96a6f165f4 Add tests & test dependencies 2025-03-19 11:17:03 +00:00
Ryan Ghadimi
df4ad15cb8
Merge branch 'main' into main 2025-03-18 22:02:13 +00:00
Ryan Ghadimi
c7cfc3a2a3 dist & package.json 2025-03-18 21:28:08 +00:00
Ryan Ghadimi
2439186eed Fix bug introduced in 4.2.0 2025-03-18 21:25:22 +00:00
JoannaaKL
b14cf4c926
Merge pull request #383 from GhadimiR/main
Bump artifact version, do digest check
2025-03-18 16:31:00 +01:00
Ryan Ghadimi
c5804ef743 Update dist 2025-03-18 15:23:08 +00:00
Ryan Ghadimi
956811a503 Update artifact to 2.3.2 2025-03-18 15:21:17 +00:00
Ryan Ghadimi
af3c6d3e5b Update artifact license 2025-03-18 13:23:53 +00:00
Ryan Ghadimi
4dd97f8f21 Bump artifact package 2025-03-18 11:57:35 +00:00
Ryan Ghadimi
da9985dde6
Merge branch 'main' into main 2025-03-17 10:26:24 +00:00
Larissa Fortuna
81ba80daa4
Merge pull request #384 from actions/lkfortuna-patch-1
Update README.md
2025-03-13 08:12:46 -07:00
Larissa Fortuna
727afbf2b0
Update README.md
removing deprecation warning
2025-03-12 15:02:16 -07:00
Ryan Ghadimi
56c2d7ea8c Make work as intended 2025-03-12 16:21:59 +00:00
Ryan Ghadimi
7797bfcd59 run release 2025-03-12 16:20:09 +00:00
Ryan Ghadimi
9ff67cb2d2 Break the thing, also log the expected digest 2025-03-12 16:17:52 +00:00
Ryan Ghadimi
049eba1e9a unbreak testing code 2025-03-12 16:04:02 +00:00
Ryan Ghadimi
503e7a18ae Refactor loop, break for testing 2025-03-12 15:40:05 +00:00
Ryan Ghadimi
a8a786b097 update dist 2025-03-12 14:13:07 +00:00
Ryan Ghadimi
24aef17bbf Refactor loop 2025-03-12 14:02:51 +00:00
Ryan Ghadimi
b81a615862 Bump artifact version, do digest check 2025-03-12 13:47:20 +00:00
Yang Cao
cc20338598
Merge pull request #380 from actions/yacaovsnc/release_4_1_9
Update artifact package to 2.2.2
2025-02-25 16:23:11 -05:00
Yang Cao
1fc0fee191 Update artifact package to 2.2.2 2025-02-25 16:10:45 -05:00
Rob Herley
7fba95161a
Merge pull request #372 from andyfeller/patch-1
Update MIGRATION.md
2025-01-10 12:01:23 -05:00
Andy Feller
f9ceb7763b
Update MIGRATION.md
Fixing the broken link pointing to `actions/upload-artifact` content outside of the repository.

cc: @pedrolacerda
2025-01-10 11:56:44 -05:00
Josh Gross
533298bc57
Merge pull request #370 from froblesmartin/patch-1
docs: small migration fix
2024-12-23 13:12:54 -05:00
Francisco Robles Martín
d06289e120
docs: small migration fix 2024-12-23 14:32:00 +01:00
Joel Ambass
d0ce8fd116
Merge pull request #354 from actions/Jcambass-patch-1
Add workflow file for publishing releases to immutable action package
2024-09-26 08:20:04 +02:00
Joel Ambass
1ce0d91ace
Add workflow file for publishing releases to immutable action package
This workflow file publishes new action releases to the immutable action package of the same name as this repo.

This is part of the Immutable Actions project which is not yet fully released to the public. First party actions like this one are part of our initial testing of this feature.
2024-09-24 15:12:00 +02:00
Rob Herley
fa0a91b85d
Merge pull request #341 from actions/robherley/bump-pkgs
Update @actions/artifact version, bump dependencies
2024-07-05 11:11:21 -04:00
Rob Herley
b54d0883e1
Update @actions/artifact version, bump dependencies 2024-07-05 14:45:55 +00:00
Bethany
65a9edc588
Merge pull request #325 from bethanyj28/main
Update @actions/artifact dependency
2024-04-24 10:29:35 -04:00
bethanyj28
fdd1595981 licensed 2024-04-24 10:10:29 -04:00
bethanyj28
c13dba102f update @actions/artifact dependency 2024-04-24 10:05:20 -04:00
eggyhead
0daa75ebea
Merge pull request #324 from actions/eggyhead/use-artifact-v2.1.6
updating artifact package v2.1.6
2024-04-22 08:57:57 -07:00
eggyhead
9c19ed7fe5
Merge branch 'main' into eggyhead/use-artifact-v2.1.6 2024-04-22 08:15:32 -07:00
Your Name
3d3ea8741e updating license 2024-04-22 08:13:41 -07:00
Your Name
89af5db821 updating artifact package v2.1.6 2024-04-22 08:12:12 -07:00
eggyhead
b4aefff88e
Merge pull request #323 from actions/eggyhead/update-artifact-v215
updating `@actions/artifact` dependency to v2.1.5 and `@actions/core` to v1.0.1
2024-04-17 14:59:43 -07:00
eggyhead
8caf195ad4 package lock update 2024-04-17 20:50:58 +00:00
eggyhead
d7a2ec411d updating package version 2024-04-17 20:38:32 +00:00
eggyhead
e56a1d48ef updating core dependency 2024-04-17 17:01:10 +00:00
Your Name
1fcda58b3a updating core license 2024-04-17 09:28:24 -07:00
eggyhead
325a10d8b7 updating actions dependency to v2.1.5 2024-04-17 16:21:00 +00:00
Rob Herley
f8aaee4a21
Merge pull request #322 from actions/robherley/deprecation-notice
Update readme with v3/v2/v1 deprecation notice
2024-04-16 17:13:40 -04:00
Rob Herley
d98334b11d
Update readme with v3/v2/v1 deprecation notice
- https://github.blog/changelog/2024-02-13-deprecation-notice-v1-and-v2-of-the-artifact-actions/
- https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/
2024-04-16 16:50:38 -04:00
Bethany
c850b930e6
Merge pull request #307 from bethanyj28/main
Update @actions/artifact
2024-03-01 13:27:40 -05:00
bethanyj28
6fd111f15a update @actions/artifact 2024-03-01 13:20:31 -05:00
Bethany
87c55149d9
Merge pull request #303 from bethanyj28/main
Update @actions/artifact
2024-02-26 10:45:15 -05:00
bethanyj28
47f9ce604f update @actions/artifact 2024-02-26 10:40:04 -05:00
Bethany
127824d34c
Merge pull request #299 from bethanyj28/main
Update toolkit dependency with updated unzip logic
2024-02-23 16:56:43 -05:00
bethanyj28
6dd49bff0a licensed only artifact 2024-02-23 16:51:43 -05:00
bethanyj28
f71c0e3da3 Revert "licensed"
This reverts commit 7c63dfde29.
2024-02-23 16:51:09 -05:00
bethanyj28
7c63dfde29 licensed 2024-02-23 16:49:11 -05:00
bethanyj28
67d37cd346 Update toolkit 2024-02-23 16:42:29 -05:00
Konrad Pabjan
348754975e
Update release-new-action-version.yml (#292) 2024-02-05 17:20:20 -05:00
eggyhead
eaceaf801f
Merge pull request #291 from actions/eggyhead/update-artifact-v2.1.1
updating artifact dependency to version 2.1.1
2024-02-05 13:20:19 -08:00
eggyhead
81eafdc926 update artifact license 2024-02-05 17:53:17 +00:00
eggyhead
9ac5cad9e2 updating artifact dependency to version 2.1.1 2024-02-05 17:25:55 +00:00
Rob Herley
3ad8411bbd
Merge pull request #287 from actions/robherley/sync-migration-docs
Sync migration docs with upload-artifact
2024-01-31 12:42:51 -05:00
Rob Herley
1de464352c
Sync migration docs with upload-artifact
We've updated them quite a bit in upload-artifact so let's make sure we're consistent.
2024-01-31 12:36:02 -05:00
Rob Herley
bb3fa7fd35
Merge pull request #275 from actions/robherley/better-log-msgs
Clarify log messages when using `pattern` or `merge-multiple` params
2024-01-10 16:00:02 -05:00
Rob Herley
a244de5a62
ncc 2024-01-10 15:17:47 -05:00
Rob Herley
355659bff2
clarify log messages when using pattern/merge-multiple params 2024-01-10 15:15:52 -05:00
Vallie Joseph
6b208ae046
Merge pull request #274 from actions/vmjoseph/timeout-patch
Add patch fix for transient timeout issues from new artifact's package
2024-01-10 12:01:10 -05:00
Vallie Joseph
6c5b5806e1 only adding updated license 2024-01-10 16:49:33 +00:00
Vallie Joseph
5f5015dc38 readding index 2024-01-10 16:48:45 +00:00
Vallie Joseph
1fddaaf0f1 Revert "updating licenses"
This reverts commit 657edd9b81.
2024-01-10 16:48:01 +00:00
Vallie Joseph
8aa9e2115b Revert "updating dist"
This reverts commit 555a2fc129.
2024-01-10 16:47:16 +00:00
Vallie Joseph
657edd9b81 updating licenses 2024-01-10 16:44:54 +00:00
Vallie Joseph
555a2fc129 updating dist 2024-01-10 16:18:33 +00:00
Vallie Joseph
4fc4d70d4c updating lock 2024-01-10 16:12:36 +00:00
Vallie Joseph
072ac9dceb updating version no 2024-01-10 16:00:45 +00:00
Vallie Joseph
038dc0329f updating version no 2024-01-10 15:59:40 +00:00
Vallie Joseph
3f40cd641f updating release 2024-01-10 15:58:28 +00:00
Vallie Joseph
82c243c150 updating artifacts package 2024-01-10 15:31:35 +00:00
Rob Herley
f44cd7b40b
Merge pull request #259 from actions/robherley/glob-downloads
Support pattern matching to filter artifacts & merge to same directory
2023-12-18 17:22:01 -05:00
Rob Herley
3181fe853d
add some migration docs 2023-12-18 16:53:40 -05:00
Rob Herley
aaaac7b403
licensed cache 2023-12-18 16:48:08 -05:00
Rob Herley
7c9182f0e1
update readme 2023-12-18 16:33:36 -05:00
Rob Herley
b94e701556
licensed cache 2023-12-18 15:43:18 -05:00
Rob Herley
0b55470e40
add test case for globbed downloads to same directory 2023-12-18 12:43:05 -05:00
Rob Herley
0b51c2ef90
update prettier/eslint versions 2023-12-15 17:46:13 -05:00
Rob Herley
c4c6db724f
support globbing artifact list & merging download directory 2023-12-15 17:18:41 -05:00
Rob Herley
1bd0606e08
Merge pull request #252 from stchr/patch-1
fix default for run-id
2023-12-15 14:17:02 -05:00
Simon Stücher
eff4d42b1f
fix default for run-id
See https://github.com/actions/download-artifact/blob/main/action.yml#L25
2023-12-15 12:56:01 +01:00
Rob Herley
4e2cbd8192
Merge pull request #247 from actions/robherley/misc-updates
Some cleanup
2023-12-14 15:14:24 -05:00
Rob Herley
bf8f7d968a
remove references to v4-beta 2023-12-14 15:10:05 -05:00
Rob Herley
7a1cd3216c
Merge pull request #246 from actions/v4-beta
download-artifact@v4
2023-12-14 10:04:06 -05:00
Rob Herley
8f32874a49
licensed cache 2023-12-13 16:08:05 -05:00
Rob Herley
b5ff8444b1
Merge pull request #245 from actions/robherley/v4-documentation
Update documentation for v4
2023-12-13 13:00:28 -05:00
Rob Herley
f07a0f73f5
Update README.md
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
2023-12-13 12:48:35 -05:00
Rob Herley
7226129829
update test workflow to use different artifact names for matrix 2023-12-12 19:38:16 -05:00
Rob Herley
ada9446619
update docs and bump @actions/artifact 2023-12-12 19:21:23 -05:00
Rob Herley
7eafc8b729
Merge pull request #244 from actions/robherley/bump-toolkit
Consume latest toolkit
2023-12-11 14:52:41 -05:00
Rob Herley
3132d12662
consume latest toolkit 2023-12-11 14:42:09 -05:00
Jonathan Tamsut
5be1d38671
Merge pull request #243 from actions/robherley/v4-beta-updates
Consume latest @actions/toolkit
2023-12-07 11:52:45 -08:00
Rob Herley
465b526e63
consume latest @actions/toolkit 2023-12-06 19:43:53 -05:00
Rob Herley
8b83831f82
Merge pull request #242 from actions/v4-beta-internal-client
Use internal client when `github-token` is not specified
2023-12-04 13:20:07 -05:00
Rob Herley
0742efc19b
set new 'latest' attribute for list operations 2023-12-04 13:08:24 -05:00
Rob Herley
5e4b342272
consume latest @actions/artifact 2023-12-01 13:20:09 -05:00
Rob Herley
98c6f16055
Merge pull request #239 from actions/robherley/bump-v4-beta-toolkit
Bump to latest artifact version from toolkit
2023-11-21 10:58:42 -05:00
Rob Herley
9140050fd5
consume latest @actions/artifact from toolkit 2023-11-20 20:57:50 -05:00
Konrad Pabjan
88dadfbcfc
[v4 beta] Fixes to download directory structure (#233)
* Fix extra root extra root directory if downloading single artifact on v4-beta

* Fix for all downloads

* Bump to node20 runtime

* ncc

---------

Co-authored-by: Rob Herley <robherley@github.com>
2023-10-27 10:11:07 -04:00
168 changed files with 114441 additions and 98677 deletions

View File

@ -1,3 +0,0 @@
node_modules/
lib/
dist/

View File

@ -1,16 +0,0 @@
{
"env": { "node": true, "jest": true },
"parser": "@typescript-eslint/parser",
"parserOptions": { "ecmaVersion": 9, "sourceType": "module" },
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:import/errors",
"plugin:import/warnings",
"plugin:import/typescript",
"plugin:prettier/recommended",
"prettier/@typescript-eslint"
],
"plugins": ["@typescript-eslint"]
}

View File

@ -10,11 +10,7 @@ on:
push:
branches:
- main
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
workflow_dispatch:
jobs:
@ -22,12 +18,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Node 16
uses: actions/setup-node@v3
- name: Setup Node 24
uses: actions/setup-node@v4
with:
node-version: 16.x
node-version: 24.x
cache: 'npm'
- name: Install dependencies
@ -46,7 +42,7 @@ jobs:
id: diff
# If index.js was different than expected, upload the expected version as an artifact
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: ${{ failure() && steps.diff.conclusion == 'failure' }}
with:
name: dist

View File

@ -20,7 +20,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL

View File

@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
name: Check licenses
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: npm ci
- name: Install licensed
run: |

View File

@ -0,0 +1,20 @@
name: 'Publish Immutable Action Version'
on:
release:
types: [published]
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
packages: write
steps:
- name: Checking out
uses: actions/checkout@v4
- name: Publish
id: publish
uses: actions/publish-immutable-action@0.0.3

View File

@ -21,7 +21,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Update the ${{ env.TAG_NAME }} tag
uses: actions/publish-action@v0.2.1
uses: actions/publish-action@v0.3.0
with:
source-tag: ${{ env.TAG_NAME }}
slack-webhook: ${{ secrets.SLACK_WEBHOOK }}

View File

@ -8,7 +8,6 @@ on:
- '**.md'
jobs:
build:
name: Build
@ -21,13 +20,12 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
# using node 16 since that is what the latest version of the runner ships with
- name: Setup Node 16
uses: actions/setup-node@v3
- name: Setup Node 24
uses: actions/setup-node@v4
with:
node-version: 16.x
node-version: 24.x
cache: 'npm'
- name: npm install
@ -40,41 +38,42 @@ jobs:
run: npm run lint
- name: Format
run: npm run format-check
run: npm run format-check
- name: Run Unit Tests
run: npm test
# Test end-to-end by uploading two artifacts and then downloading them
# Once upload-artifact v2 is out of preview, switch over
- name: Create artifacts
run: |
mkdir -p path/to/artifact-A
mkdir -p path/to/artifact-B
echo "Lorem ipsum dolor sit amet" > path/to/artifact-A/file-A.txt
echo "Hello world from file B" > path/to/artifact-B/file-B.txt
- name: Upload artifact A
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
with:
name: 'Artifact-A'
name: Artifact-A-${{ matrix.runs-on }}
path: path/to/artifact-A
- name: Upload artifact B
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
with:
name: 'Artifact-B'
name: Artifact-B-${{ matrix.runs-on }}
path: path/to/artifact-B
# Test downloading a single artifact
- name: Download artifact A
- name: Download artifact A (absolute path)
uses: ./
with:
name: 'Artifact-A'
name: Artifact-A-${{ matrix.runs-on }}
path: some/new/path
# Test downloading an artifact using tilde expansion
- name: Download artifact A
- name: Download artifact A (tilde expansion)
uses: ./
with:
name: 'Artifact-A'
name: Artifact-A-${{ matrix.runs-on }}
path: ~/some/path/with/a/tilde
- name: Verify successful download
@ -99,8 +98,8 @@ jobs:
- name: Verify successful download
run: |
$fileA = "some/other/path/Artifact-A/file-A.txt"
$fileB = "some/other/path/Artifact-B/file-B.txt"
$fileA = "some/other/path/Artifact-A-${{ matrix.runs-on }}/file-A.txt"
$fileB = "some/other/path/Artifact-B-${{ matrix.runs-on }}/file-B.txt"
if(!(Test-Path -path $fileA) -or !(Test-Path -path $fileB))
{
Write-Error "Expected files do not exist"
@ -111,4 +110,213 @@ jobs:
}
shell: pwsh
# Test glob downloading both artifacts to same directory
- name: Download all Artifacts
uses: ./
with:
pattern: Artifact-*
path: single/directory
merge-multiple: true
- name: Verify successful download
run: |
$fileA = "single/directory/file-A.txt"
$fileB = "single/directory/file-B.txt"
if(!(Test-Path -path $fileA) -or !(Test-Path -path $fileB))
{
Write-Error "Expected files do not exist"
}
if(!((Get-Content $fileA) -ceq "Lorem ipsum dolor sit amet") -or !((Get-Content $fileB) -ceq "Hello world from file B"))
{
Write-Error "File contents of downloaded artifacts are incorrect"
}
shell: pwsh
# Test downloading artifact without decompressing (skip-decompress)
- name: Download artifact A without decompressing
uses: ./
with:
name: Artifact-A-${{ matrix.runs-on }}
path: skip-decompress-test
skip-decompress: true
- name: Verify skip-decompress download
run: |
$rawFile = "skip-decompress-test/Artifact-A-${{ matrix.runs-on }}.zip"
if(!(Test-Path -path $rawFile))
{
Write-Error "Expected raw artifact file does not exist at $rawFile"
}
$fileInfo = Get-Item $rawFile
if($fileInfo.Length -eq 0)
{
Write-Error "Downloaded artifact file is empty"
}
Write-Host "Successfully downloaded artifact without decompressing: $rawFile (size: $($fileInfo.Length) bytes)"
shell: pwsh
# Regression test for artifact filename vs content-type mismatch
# When an archived artifact has a name with a file extension that doesn't
# match the blob type (e.g. "report.txt" but blob is zip), the server
# should append .zip to the content-disposition filename.
- name: Create and upload archived artifact with misleading extension
shell: bash
run: |
mkdir -p path/to/extension-test
echo '{"key": "value"}' > path/to/extension-test/data.json
- uses: actions/upload-artifact@v4 # V4 is important here to ensure we're supporting older versions correctly
with:
name: report.txt-${{ matrix.runs-on }}.json
path: path/to/extension-test/data.json
- name: Download misleading-extension artifact without decompressing
uses: ./
with:
name: report.txt-${{ matrix.runs-on }}.json
path: ext-test/raw
skip-decompress: true
- name: Verify downloaded file has .zip extension appended
shell: bash
run: |
expected="ext-test/raw/report.txt-${{ matrix.runs-on }}.json.zip"
if [ -f "$expected" ]; then
echo "PASS: Downloaded file has .zip appended: $expected"
else
echo "FAIL: Expected $expected but got:"
ls -al ext-test/raw/
exit 1
fi
# Test uploading and downloading artifacts with CJK (Chinese, Japanese, Korean) characters
# Regression test: certain non-ASCII chars (e.g. U+571F 土) caused 400 errors from
# Azure Blob Storage due to encoding issues in the Content-Disposition / rscd parameter
- name: Create artifacts with CJK names
shell: bash
run: |
mkdir -p path/to/cjk-artifacts
# Chinese - 土 (U+571F) known to fail, 日 (U+65E5) known to work
echo "Content for 土" > "path/to/cjk-artifacts/file-土-${{ matrix.runs-on }}.txt"
echo "Content for 中文测试" > "path/to/cjk-artifacts/file-中文测试-${{ matrix.runs-on }}.txt"
# Japanese - katakana and kanji
echo "Content for テスト" > "path/to/cjk-artifacts/file-テスト-${{ matrix.runs-on }}.txt"
echo "Content for 東京タワー" > "path/to/cjk-artifacts/file-東京タワー-${{ matrix.runs-on }}.txt"
# Korean - Hangul
echo "Content for 테스트" > "path/to/cjk-artifacts/file-테스트-${{ matrix.runs-on }}.txt"
echo "Content for 서울시" > "path/to/cjk-artifacts/file-서울시-${{ matrix.runs-on }}.txt"
- name: Upload CJK artifact - Chinese 土
uses: actions/upload-artifact@v7
with:
path: path/to/cjk-artifacts/file-土-${{ matrix.runs-on }}.txt
archive: false
- name: Upload CJK artifact - Chinese 中文测试
uses: actions/upload-artifact@v7
with:
path: path/to/cjk-artifacts/file-中文测试-${{ matrix.runs-on }}.txt
archive: false
- name: Upload CJK artifact - Japanese テスト
uses: actions/upload-artifact@v7
with:
path: path/to/cjk-artifacts/file-テスト-${{ matrix.runs-on }}.txt
archive: false
- name: Upload CJK artifact - Japanese 東京タワー
uses: actions/upload-artifact@v7
with:
path: path/to/cjk-artifacts/file-東京タワー-${{ matrix.runs-on }}.txt
archive: false
- name: Upload CJK artifact - Korean 테스트
uses: actions/upload-artifact@v7
with:
path: path/to/cjk-artifacts/file-테스트-${{ matrix.runs-on }}.txt
archive: false
- name: Upload CJK artifact - Korean 서울시
uses: actions/upload-artifact@v7
with:
path: path/to/cjk-artifacts/file-서울시-${{ matrix.runs-on }}.txt
archive: false
- name: Download CJK artifact - Chinese 土
uses: ./
with:
name: file-土-${{ matrix.runs-on }}.txt
path: cjk-download/土
- name: Download CJK artifact - Chinese 中文测试
uses: ./
with:
name: file-中文测试-${{ matrix.runs-on }}.txt
path: cjk-download/中文测试
- name: Download CJK artifact - Japanese テスト
uses: ./
with:
name: file-テスト-${{ matrix.runs-on }}.txt
path: cjk-download/テスト
- name: Download CJK artifact - Japanese 東京タワー
uses: ./
with:
name: file-東京タワー-${{ matrix.runs-on }}.txt
path: cjk-download/東京タワー
- name: Download CJK artifact - Korean 테스트
uses: ./
with:
name: file-테스트-${{ matrix.runs-on }}.txt
path: cjk-download/테스트
- name: Download CJK artifact - Korean 서울시
uses: ./
with:
name: file-서울시-${{ matrix.runs-on }}.txt
path: cjk-download/서울시
- name: Verify CJK artifact downloads
shell: bash
run: |
set -e
fail=0
check_file() {
local file="$1"
local expected="$2"
if [ ! -f "$file" ]; then
echo "FAIL: Missing file: $file"
fail=1
return
fi
actual=$(cat "$file")
if [ "$actual" != "$expected" ]; then
echo "FAIL: Content mismatch in $file"
echo " Expected: '$expected'"
echo " Got: '$actual'"
fail=1
return
fi
echo "PASS: $file"
}
echo "=== Chinese ==="
check_file "cjk-download/土/file-土-${{ matrix.runs-on }}.txt" "Content for 土"
check_file "cjk-download/中文测试/file-中文测试-${{ matrix.runs-on }}.txt" "Content for 中文测试"
echo "=== Japanese ==="
check_file "cjk-download/テスト/file-テスト-${{ matrix.runs-on }}.txt" "Content for テスト"
check_file "cjk-download/東京タワー/file-東京タワー-${{ matrix.runs-on }}.txt" "Content for 東京タワー"
echo "=== Korean ==="
check_file "cjk-download/테스트/file-테스트-${{ matrix.runs-on }}.txt" "Content for 테스트"
check_file "cjk-download/서울시/file-서울시-${{ matrix.runs-on }}.txt" "Content for 서울시"
if [ "$fail" -ne 0 ]; then
echo "Some CJK artifact checks failed"
ls -alR cjk-download/ || true
exit 1
fi
echo "All CJK artifact downloads verified successfully"

4
.gitignore vendored
View File

@ -2,4 +2,6 @@
node_modules/
# Ignore js files that are transpiled from ts files in src/
lib/
lib/
.DS_Store

View File

@ -9,7 +9,37 @@ allowed:
- mit
- cc0-1.0
- unlicense
- 0bsd
- blueoak-1.0.0
- other
- none
ignored:
npm:
- "buffers"
reviewed:
npm:
- fs.realpath
- fs.realpath
- "@actions/http-client"
- "@bufbuild/protobuf"
- "@pkgjs/parseargs"
- "@protobuf-ts/runtime"
- argparse
- chainsaw
- color-convert
- ieee754
- jackspeak
- lodash
- mdurl
- neo-async
- package-json-from-dist
- path-scurry
- readable-stream
- sax
- source-map
- string_decoder
- traverse
- tslib
- uglify-js
- wordwrap

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@actions/exec.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@actions/github.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@azure/core-auth.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@azure/core-client.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@azure/core-lro.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@azure/core-paging.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@azure/core-tracing.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@azure/core-util.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@azure/core-xml.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@azure/logger.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@azure/storage-blob.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@bufbuild/protobuf.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@isaacs/cliui.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@octokit/auth-token.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@octokit/core.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@octokit/endpoint.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@octokit/graphql.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@octokit/request.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@octokit/types.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@pkgjs/parseargs.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@protobuf-ts/plugin.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@protobuf-ts/protoc.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/@protobuf-ts/runtime.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/@typescript/vfs.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/abort-controller.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/agent-base.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/ansi-regex-5.0.1.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/ansi-regex-6.2.2.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/ansi-styles-4.3.0.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/ansi-styles-6.2.3.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/archiver-utils.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/archiver.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/async.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/b4a.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/bare-events.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/before-after-hook.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/binary.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/buffer-crc32.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/buffer.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/chainsaw.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/color-convert.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/color-name.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/compress-commons.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/core-util-is.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/crc-32.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/crc32-stream.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/cross-spawn.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/debug.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/emoji-regex-8.0.0.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/emoji-regex-9.2.2.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/event-target-shim.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/events-universal.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/events.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/fast-fifo.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/fast-xml-parser.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/foreground-child.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/graceful-fs.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/http-proxy-agent.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/https-proxy-agent.dep.yml generated Normal file

Binary file not shown.

BIN
.licenses/npm/ieee754.dep.yml generated Normal file

Binary file not shown.

Binary file not shown.

BIN
.licenses/npm/is-stream.dep.yml generated Normal file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More