1
0
Fork 0
Commit Graph

285 Commits (a0e6af1e532366e430aef99c44f002ec3abba38d)

Author SHA1 Message Date
Rob Herley dc515188a8
Update packages/artifact/README.md
Co-authored-by: Bethany <bethanyj28@users.noreply.github.com>
2023-12-06 09:30:53 -05:00
Rob Herley 79ace256d6
Update packages/artifact/README.md
Co-authored-by: Bethany <bethanyj28@users.noreply.github.com>
2023-12-06 09:30:35 -05:00
Rob Herley 68958c2486
Update packages/artifact/README.md
Co-authored-by: Bethany <bethanyj28@users.noreply.github.com>
2023-12-06 09:30:20 -05:00
Rob Herley 0c9621922e
add faq, update releases 2023-12-06 04:22:18 +00:00
Rob Herley 9b31b03496
more readme updates 2023-12-06 04:10:46 +00:00
Rob Herley befa19f3a8
initalize artifact client as default export 2023-12-06 04:00:07 +00:00
Rob Herley e27efe5620
readme & error updates 2023-12-05 21:55:22 +00:00
Rob Herley 449b28aee2
update contributing docs 2023-12-05 21:10:48 +00:00
Rob Herley a3053b5cc2
fix typo 2023-12-05 18:47:37 +00:00
Rob Herley b9872153b8
update GHES warning behavior 2023-12-05 18:42:36 +00:00
Rob Herley ce9eae0785
consistent promise behavior for download artifact 2023-12-05 18:35:26 +00:00
Rob Herley d3c5f358d1
consistent promise behavior for get artifact 2023-12-05 17:56:18 +00:00
Rob Herley 75a3586061
consistent promise behavior for upload artifact 2023-12-05 17:35:46 +00:00
Rob Herley 141b3509e4
update import 2023-12-03 21:13:55 +00:00
Rob Herley 790e6f7194
more docs 2023-12-03 20:52:36 +00:00
Rob Herley ef454f0991
add tests for list-artifacts 2023-12-03 20:48:33 +00:00
Rob Herley 86ce0b159a
get artifact tests 2023-12-03 19:43:37 +00:00
Rob Herley c11a7cdeac
wip 2023-12-03 06:24:49 +00:00
Rob Herley c94ca49c9c
ability to filter artifacts by latest 2023-12-03 05:01:20 +00:00
Rob Herley fa7657714a
fix import 2023-12-02 21:34:07 -05:00
Rob Herley c1f9d37323
updates to get/list artifacts 2023-12-02 21:18:22 -05:00
Rob Herley 281697ecbe
fix test expectations 2023-12-01 16:34:27 +00:00
Rob Herley a59f976dd4
minor fixes 2023-12-01 09:05:46 -05:00
Rob Herley 57db7a6302
more debug info 2023-12-01 03:04:10 +00:00
Rob Herley 4789a46578
make FindOptions interface more user friendly 2023-12-01 02:15:25 +00:00
Rob Herley 32549e8197
update download-artifact tests for public and internal impl 2023-12-01 01:32:45 +00:00
Rob Herley 22b7aeb707
some test updates 2023-12-01 00:31:27 +00:00
Rob Herley e9d6649a14
consume new pb wrappers 2023-11-30 19:10:07 +00:00
Rob Herley 695bf98f84
rewrite artifacts client to have public and internal implementations 2023-11-30 03:47:04 +00:00
Rob Herley a920781ca9
fix results url construction 2023-11-20 18:06:44 +00:00
Rob Herley 3a610e848c
linter 2023-11-20 16:46:08 +00:00
Rob Herley 606ebdcf6d
extra log line for debug 2023-11-20 16:27:35 +00:00
Rob Herley 7b01731091
increase upload concurrency based on cpus, adjust highWaterMark, specify compression level 2023-11-20 15:03:58 +00:00
Rob Herley 82474125c8
use sha256 instead of md5 for artifact v4 integrity hash 2023-10-16 16:20:24 +00:00
Tatyana Kostromskaya ce31408ff5 Update dependencies 2023-09-08 14:29:27 +00:00
Bethany 3d652d3133
Merge pull request #1505 from actions/bethanyj28/upload-tests
Add tests for `upload-artifact.ts`
2023-08-24 09:29:01 -04:00
Rob Herley 9d756b2bc9
linter 2023-08-24 09:16:35 -04:00
Rob Herley 67c3b7a45c
add tests for download artifact 2023-08-23 23:18:03 -04:00
Bethany 3963c722d8 merge download changes and lint 2023-08-23 14:02:50 -07:00
Bethany 3b44a4cc23 prettier 2023-08-23 13:55:26 -07:00
Bethany 03a876f0a7 add tests for upload 2023-08-23 13:54:31 -07:00
Bethany 291200d54f include get artifact changes 2023-08-23 10:40:25 -07:00
Bethany 06e751600e move constants to retry-options 2023-08-23 10:36:33 -07:00
Bethany 4b6a4d80e1 use inline eslint disable 2023-08-23 10:12:06 -07:00
Bethany b2da9aa12c use string interpolation 2023-08-23 07:35:23 -07:00
Bethany 88f749f686 lint 2023-08-23 07:28:17 -07:00
Bethany b4f8e602b2 remove folder option in favor of path 2023-08-23 07:21:01 -07:00
Bethany ced07aa89c Use options to specify download folder 2023-08-23 06:47:51 -07:00
Bethany 6adf053d36 prettier 2023-08-22 11:47:14 -07:00
Bethany 671bf1ebd5 use GITHUB_WORKSPACE as default download dir 2023-08-22 11:44:38 -07:00
Bethany dd26bb1149 use require 2023-08-22 11:33:00 -07:00
Bethany 81a802e7e0 lint 2023-08-22 10:06:40 -07:00
Bethany 4214a1ff24 update dependencies and prettier 2023-08-22 09:57:14 -07:00
Bethany 0555a5f458 add get-artifact logic 2023-08-22 09:17:43 -07:00
Rob Herley 3aaff6685b
cleanup 2023-08-21 17:47:17 -04:00
Rob Herley 9b383229c1
add download apis to stream zip from blob storage 2023-08-21 21:23:54 +00:00
Konrad Pabjan 7b617c260d
[Artifacts] @actions/artifact list artifact functionality + download interface setup (#1495)
* actions/artifact preparation for download-artifact v4

* Test matrix strategy

* Fix needs dependency

* Improve list artifact test

* Fix typo

* Fix variables

* Cleanup download-all interfaces

* Fix tsc error

* Simplify to just name instead of artifactName

* Simplify to id instead of ArtifactId

* PR cleanup
2023-08-17 14:40:33 -04:00
Konrad Pabjan 20afb1a9fc
[Artifacts] Add tests for E2E artifact upload (#1497)
* Add tests for E2E artifact upload

* Trigger Build

* Extra debug logs

* Debug dumping GitHub Context

* More logging

* Minor cleanup

* Trigger Build

* Unique artifact name

* Fix typo

* Fix

* Try using github-script

* Potential fix

* Cleanup

* More cleanup
2023-08-17 12:32:55 -04:00
Konrad Pabjan c9dab8c79d
[Artifacts] Save md5 hash for each artifact upload (#1494)
* Hash artifact upload using md5

* Add imports

* Small tweaks

* PR feedback

* PR Feedback
2023-08-15 13:39:57 -04:00
Konrad Pabjan 45c49b09df
[Artifacts] zip creation + blob storage upload functionality (#1488)
* Artifact zip creation + blob storage upload functionality

* Fix lint

* PR feedback
2023-08-10 15:28:41 -04:00
Bethany f03b6d639f update import 2023-08-09 17:50:46 -07:00
Bethany 58858b5078 don't use non-null assertions 2023-08-09 17:48:53 -07:00
Bethany 188abfc20b implement feedback 2023-08-09 17:42:14 -07:00
Bethany 2f42c127c7 update tests 2023-08-09 13:20:06 -07:00
Bethany 4dda3ab8a0 move getExpiration to upload-artifact 2023-08-09 13:12:30 -07:00
Bethany 4b219f79f3 Add tests for backend id fetch 2023-08-09 12:29:43 -07:00
Bethany 08d6314f7c prettier 2023-08-09 12:09:17 -07:00
Bethany b851b70474 catch errors at the root, remove unneccessary disabled rule 2023-08-09 12:08:43 -07:00
Bethany e8fb71c4bb lint 2023-08-09 11:34:18 -07:00
Bethany 73ad88882e utilize client, fetch IDs 2023-08-09 11:26:33 -07:00
Bethany 760f3fd3d1
Update packages/artifact/src/internal/shared/config.ts
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
2023-08-09 10:30:50 -04:00
Bethany c6117995d3
Update packages/artifact/src/internal/shared/config.ts
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
2023-08-09 10:30:44 -04:00
Bethany 24da3e2d1c lint 2023-08-09 07:10:43 -07:00
Bethany cfad1451e9 Update generated files to not use bigint 2023-08-09 07:00:27 -07:00
Bethany c0684c5add prettier 2023-08-08 13:19:43 -07:00
Bethany e85cd96d85 tests and fix bug for retry 2023-08-08 12:49:05 -07:00
Bethany af1621025d wip 2023-08-07 16:26:07 -07:00
Bethany 6552cb9722 wip 2023-08-07 14:24:58 -07:00
Bethany a66e49ec8a Merge branch 'bethanyj28/add-twirp-definitions' into bethanyj28/add-twirp-client 2023-08-07 09:10:06 -07:00
Bethany 3773ef22b1 prettier and add generated files to prettierignore 2023-08-07 08:55:42 -07:00
Bethany 80e4680ac8 Merge branch 'bethanyj28/add-twirp-definitions' into bethanyj28/add-twirp-client 2023-08-07 08:48:20 -07:00
Bethany 66ac937f2f target es2020 2023-08-07 08:45:28 -07:00
Bethany efcab31d38 pass in http client to constructor 2023-08-07 08:43:39 -07:00
Bethany 4c6d88f93a Start writing tests 2023-08-04 13:00:58 -07:00
Bethany 8a5343d54a add twirp client 2023-08-04 09:23:14 -07:00
Bethany 3ebee1e8b4 package-lock.json conflict 2023-08-04 07:12:36 -07:00
Konrad Pabjan 7da3ac6eda
[Artifacts] Name validation + zip specification creation (#1482)
* Artifact name validation + zip specification creation

* Fix linting issues

* Grammar fix

* Update test description
2023-08-04 09:53:42 -04:00
Vallie Joseph 2461056696
Audit Fix (#1480)
* fixing audit failures

* replacing lerna bootstrap with npm command

* audit fix for cache and tool-cache

* updating tunnel

* upgrading core packages

* re-adding tunnel as prod dep

* updating dependencies

* updating exec deps

* updating exec io package

* .

* Revert

* updating packages

* adding core as dep

* updating learna config

* updating lerna commands

* Removing audit failing packages in cache + tool-cache

* updating contribution bootstrap description

* updating libraries

* prettier lint

* hiding stricter rules

* updating prettier command

* Removing unknown flag

* Adding eslint prettier

* ignoring sym links

* updating ignore path

* updating prettier rules

* changing prettier + github ver

* updating ts and ignores

* Revert ts

* Adding unknown ignores

* downgrading lerna

* .

* adding nx

* Adding lint auto lint rules

* updating eslint ignore for glob packages

* Adding subdirs to ignore

* adding flag for ignore pattern in linter

* Expanding ignore regex

* Adding ignore rules

* adding another ignore pattern to tsconfig eslint

* adding ignore pattern to eslintrc

* syncing package-json

* updating traverse

* .

* test adding core and http client to base package

* running npm ci

* adding tsconfig paths

* adding base URL

* Adding explicit path to core and http-client

* editing tsc call

* updating artifact packages

* force build

* updating lock file version

* updating lock file version

* upgrading node version

* Adding babel traverse back

* fixing build issue

* fixing typescript ver

* updating package json

* Adding ignore for artifact test

* adding ignore to flags

* unlink after test completes

* cleanup

* merge + package edit
2023-08-03 16:36:11 -04:00
Bethany 3749c51d21 npm install 2023-08-03 12:59:51 -07:00
Bethany 769c896931 add artifact api twirp definitions 2023-08-03 12:43:45 -07:00
Konrad Pabjan c4f5ce2665
[Artifacts] Prepare for v2.0.0 of @actions/artifact (#1479)
* Prepare for v2.0.0 of @actions/artifact

* Run prettier

* temporary disable unused vars
2023-08-03 13:34:41 -04:00
Josh Soref 5804607845
Grammar: set up (#1241) 2023-01-19 10:57:29 -05:00
Héctor Molinero Fernández 6c1f9eaae8
[Artifacts] Add more extensions to the gzip compression exception list (#1118)
* [Artifacts] Add more extensions to the gzip compression exception list

* [Artifacts] Test .zip extension

* Exempt .zstd files from compression
2023-01-11 15:19:28 -05:00
Konrad Pabjan 34577b269e
Remove error annotations why retrying artifact download (#1309) 2023-01-11 13:53:41 -05:00
Eric Cornelissen 06c3c38ef2
Fix reject call in package artifact's upload-zip.ts (#1125) 2023-01-06 10:15:36 -05:00
Randolf J 411e8fa448
fix: use `stat` instead of `lstat` (#1190) 2023-01-06 10:07:56 -05:00
Luca Casonato 2c09aaef3b
[artifact] exempt .tar.zst files from compression (#1184)
* [artifact] exempt .tar.zst files from compression

These files are already compressed with zstd - no need to attempt re-compression.

* fix missing comma

* fmt

* Update upload-gzip.ts
2023-01-05 16:00:03 -05:00
Ferenc Hammerl c0b323a0bb
Merge pull request #1298 from actions/fhammerl/artifact-release-1-1-1
Artifact release 1.1.1
2023-01-03 15:52:36 +01:00
Ferenc Hammerl 83db1b8e43 Bump artifact package 2023-01-03 15:19:24 +01:00
Ferenc Hammerl 5b2351aebf Release notes for 1.1.1 2023-01-03 15:19:16 +01:00
Ferenc Hammerl 80d992795c Fix linting 2022-12-14 16:13:28 +01:00
Ferenc Hammerl b9de68a590 Await finish of filestream so file is created for node16 2022-12-14 15:57:48 +01:00
Ferenc Hammerl 1d61e5fb19 Fix linting 2022-12-14 01:38:01 +01:00
Ferenc Hammerl cc9ec0424e Test out checking for fileexists in rmFile 2022-12-14 01:17:17 +01:00
Francesco Renzi e1bb04bace Update internal dependencies 2022-09-16 15:47:36 +00:00
Rob Herley dd4e856a4e
@actions/artifact 1.1.0 release 2022-05-19 18:17:15 +00:00
Rob Herley eb7ed88d77
Merge branch 'main' into robherley/artifact-digest 2022-05-19 11:45:42 -04:00
Konrad Pabjan 500d0b42fe
Bump all packages that have @actions/http-client as a dependency (#1088)
* bump @actions/artifact

* update @actions/cache

* Update @actions/core

* Update @actions/github

* update @actions/tool-cache
2022-05-13 11:12:58 -04:00
Konrad Pabjan 82efa3d285
Bump @actions/http-client in all packages that use it (#1087) 2022-05-13 10:58:36 -04:00
Brian Cristante aa676f3cc7
Update other packages to use http-client v2 (#1082)
We moved `@actions/http-client` to be part of the toolkit in https://github.com/actions/toolkit/pull/1062.  We also made some breaking changes to exported types and released v2.

The biggest change in terms of lines of code affected was to get rid of the `I-` prefix for interfaces since TypeScript doesn't follow this convention.

I bumped the patch version of all packages except for `tool-cache`, where I bumped the major version.  The rationale is explained in the release notes for that package.
2022-05-11 17:14:25 -04:00
Rob Herley 35e5aac523
actually use md5 not sha256 2022-05-05 10:32:09 -04:00
Rob Herley a3c696e88e
add md5 and use b64 for digest encodings 2022-05-05 09:26:38 -04:00
Rob Herley b68735e060
misc pr feedback 2022-04-27 22:24:16 +00:00
Rob Herley d5c547c19f
update crc header key 2022-04-27 22:22:35 +00:00
Rob Herley 9e285cc3fa
crc: update test header data 2022-04-26 23:21:31 +00:00
Rob Herley 3f95e2ea4f
crc: update headers & digest stream 2022-04-26 22:59:56 +00:00
Rob Herley fccc5ee6e6
crc: move tbl out of class, more tests 2022-04-26 17:31:17 +00:00
Rob Herley 3d61fe8000
add crc64 & tests 2022-04-26 17:13:40 +00:00
Rob Herley e3549a9c58
artifact: tests for stream digest util 2022-04-05 09:31:49 -04:00
Rob Herley c5d1911357
add digest header for uploads 2022-04-04 17:54:15 -04:00
Jonathan Tamsut 5905c6b5c1 Bump major version 2022-03-01 12:36:05 -08:00
Jonathan Tamsut 5e37db2c2b update `lockfileVersion` for artifact 2022-03-01 12:10:10 -08:00
Konrad Pabjan daf8bb0060
0.6.1 release (#964) 2021-12-14 16:01:55 -05:00
Zoran Regvart 37f5a85219
fix: drop support for named pipes on Windows (#962)
Seems that folk are having issues with uploading 0-byte files from
Windows agents. This effectively removes the support for Windows for
uploading from named files that, due to `isFIFO` returning `false` on
Windows for named pipes created using MSYS2's `mkfifo` command, resorted
to checking if the file size is 0 - a common trait of named pipes.

See https://github.com/actions/upload-artifact/issues/281
2021-12-14 15:50:50 -05:00
Konrad Pabjan 6fcdd6ab0d
[Artifacts] Prep for @actions/artifact 0.6.0 release (#958)
* actions-artifact-0.6.0 release

* Fix lint issue

* Update RELEASES.md
2021-12-06 18:39:23 -05:00
Konrad Pabjan 45a3c7bf81
[Artifacts] More detailed information for chunked uploads (#957)
* More detailed information for chunked uploads

* Run npm format
2021-12-06 16:48:14 -05:00
Konrad Pabjan cdd4e107a6
[Artifacts] Exempt certain types of files from gzip compression (#956)
* Exempt certain types of files from gzip compression

* Fix lint issue
2021-12-06 16:47:44 -05:00
Konrad Pabjan 88062ec473
Check for newlines and carriage return in artifact paths and name (#951)
* Check for newlines and carriage return in artifact paths and name

* Fix linting issue

* Update comments

* Add comment about spacing

* Remove extra space
2021-12-01 16:31:37 -05:00
Konrad Pabjan 4df5abb3ee
Updates to logging for artifact uploads (#949)
* More details logs during artifact upload

* extra logging

* Updates to artifact logging + clarifications around upload size

* Fix linting errors

* Update packages/artifact/src/internal/artifact-client.ts

Co-authored-by: campersau <buchholz.bastian@googlemail.com>

Co-authored-by: campersau <buchholz.bastian@googlemail.com>
2021-11-30 12:53:24 -05:00
campersau e19e4261da
Reset processedCount when downloading all artifacts (#889) 2021-11-29 17:28:03 -05:00
Ichinose Shogo e9b0746ee3
artifact: @types/tmp should be devDependencies (#860) 2021-11-29 17:22:33 -05:00
Zoran Regvart 7932c147a0
Support upload from named pipes (#748)
Named pipes report file size as 0, which leads to reading the whole
content into memory (0 is less than 64K). This adds additional check to
make sure that the passed in path is not a named pipe, and in that case
opts for the create-temp-file-to-gzip code path.

When running on GitHub Actions infrastructure on `windows` node, named
pipes can be created using `mkfifo` from MSYS2. In that case `fs.Stats`s
`isFIFO()` returns `false`, and not `true` as expected. This case is
detected by `process.platform` being `win32` and the passed file having
length of 0.

As a side note, when MSYS2's `mkfifo` is run, a pipe file is created:

```
prw-rw-rw- 1 User None  0 Mar 31 12:58 pipe
```

If `fs.stat` is invoked at this point `ENOENT` error will be thrown. As
soon as the pipe is written to, this pipe file is replaced by two same-
named files:

```
-rw-r--r-- 1 User None  0 Mar 31 13:00 pipe
-rw-r--r-- 1 User None  0 Mar 31 13:00 pipe
```

And at this point `fs.stat` `isFIFO()` returns `false`. Even though the
file acts as a named pipe.
2021-11-29 17:19:02 -05:00
Brian Cristante a31b7eca9e
Bump artifact package version to v0.5.2 (#845)
* bump version in package*.json

* changelog
2021-06-16 09:37:06 -04:00
Brian Cristante db21627995
Retry artifact uploads on HTTP 500 (#833)
* Retry on 500

* bump package version

* fix tests

* Remove spurious change

* fix another test

* Roll back package version
2021-06-04 17:09:30 -04:00
Thomas Boop 0d74e9080a
Re-enable the audit tools step and update dependencies (#815)
* update package versions

* run audit

* fix eslint config

* linter updates

* re-enable audit

* update timeouts test

* pass done into callback

* fix format
2021-05-21 09:19:40 -04:00
Konrad Pabjan f628f161c4
Bump artifact package version (#761) 2021-04-06 13:49:15 -04:00
Konrad Pabjan 770dc3a982
@actions/artifact 0.5.1 release (#760)
* Bump @actions/http-client to latest for artifact package

* Remove typescript libs to fix failing imports
2021-04-06 12:44:56 -04:00
Konrad Pabjan c861dd8859
Retry all http calls for artifact upload and download (#675)
* Retry all http calls for artifact upload and download

* Extra debug information

* Fix lint

* Always read response body

* PR Feedback

* Change error message if patch call fails

* Add exponential backoff when retrying

* Rework tests and add diagnostic info if exception thrown

* Fix lint

* fix lint error for real this time

* PR cleanup

* 0.5.0 @actions/artifact release

* Display diagnostic info if non-retryable code is hit
2020-12-18 21:40:50 +01:00
Konrad Pabjan 73d5917a6b
actions/artifact 0.4.2 release (#673)
* actions/artifact 0.4.2

* Update releases note
2020-12-11 17:43:12 +01:00
Yang Cao b593d1deb4
Close destination steam before reject
Co-authored-by: Chris Sidi <hashtagchris@github.com>
2020-12-04 11:03:17 -05:00
Yang Cao 5be846b72d style change, refactor arg sequence 2020-12-04 09:41:00 -05:00
Yang Cao dc491a61ca pipeResponseToFile already throws when reading truncated stream 2020-12-04 09:19:58 -05:00
Yang Cao a600dd34a5 Try close stream before unlink 2020-12-03 13:34:59 -05:00
Yang Cao d4e990d92f Always print skip validation log 2020-12-03 13:09:43 -05:00
Yang Cao 05b1692026 Add some debugging statements 2020-12-03 12:40:37 -05:00
Yang Cao 8ed9455d68 More styling fix 2020-12-03 10:57:04 -05:00
Yang Cao b55731c11b Fix styling 2020-12-03 10:33:10 -05:00
Yang Cao 6b83f0554a Adding retry when we received 200
If we received 200, we will attempt to download the stream. If the
stream is gzipped, gzip should throw an error when trying to decompress
the stream; or if the stream is truncated, the received bytes should be
different from the value set in content-length header.
2020-12-03 10:15:12 -05:00
Chris Sidi 990647a104 More error handling 2020-12-03 10:12:44 -05:00
Chris Sidi 520206f818 Retry artifact download when response stream is truncated 2020-12-03 10:12:44 -05:00