srryan
ecb4df89bf
remove the exit
2023-12-20 18:23:47 -05:00
srryan
03319fcffa
client fixes for retries + logging
2023-12-20 18:08:00 -05:00
srryan
c33724abbd
update to http client
2023-12-20 15:45:19 -05:00
Rob Herley
d6f3ee93b8
reject don't throw
2023-12-20 14:37:13 -05:00
Rob Herley
34a411f3c0
add timeout in between data chunks
2023-12-20 13:59:31 -05:00
Rob Herley
2d6ba67518
retry the promise
2023-12-20 13:11:04 -05:00
srryan
78ed49ff88
update error handling abort
2023-12-19 12:46:58 -05:00
srryan
c119fcd773
update optional settings for blob client
2023-12-19 12:02:10 -05:00
srryan
73babeabef
add explicit options
2023-12-19 11:49:39 -05:00
Vallie Joseph
bf93b54558
adding logger for blob client and response
2023-12-18 23:09:10 +00:00
srryan
0c0770ce57
cleanup
2023-12-18 17:52:55 -05:00
srryan
571bf222ee
update to use blob client over http client
2023-12-18 17:11:14 -05:00
Rob Herley
16b786a545
better error message for usage limits
2023-12-11 22:01:08 -05:00
Rob Herley
a4bd0f1214
Add specific messages for network-specific node error codes
2023-12-11 17:07:48 -05:00
Rob Herley
3c3af56b29
replace unzipper with unzip-stream
2023-12-11 12:15:40 -05:00
Vallie Joseph
950e1711a1
Improve error messages (duplicate artifacts; too many artifacts) ( #1600 )
...
* cleaning up error messages
* updating package-json
* updating package-lock
* .
* .
* testing return message
* updating error check
* adding test
* rmv unused var
* updating status code to match conflict message
2023-12-11 11:26:54 -05:00
Jonathan Tamsut
88b76de595
Add back 429 to list of retryable requests ( #1599 )
...
* add back 429 to list of retryable requests
* fix lint error
2023-12-08 11:00:44 -08:00
Jonathan Tamsut
55a05255d7
Remove 429 request from list of retry-able status codes ( #1597 )
...
* remove 429 request from retryable
* remove 413
* make linter happy
2023-12-07 13:22:17 -08:00
Rob Herley
64d1b104d0
Generate Typescript Docs for `@actions/artifact` ( #1595 )
...
* autogenerate artifact documentation
* clean up comments for better autogen docs
2023-12-07 09:57:20 -08:00
Rob Herley
f732e4cd62
linter
2023-12-06 23:57:33 +00:00
Rob Herley
8c317a0e59
one too many parses
2023-12-06 23:51:16 +00:00
Rob Herley
715b1acc05
cleanup artifact handlers hanging node process
2023-12-06 23:42:07 +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
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
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
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
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
Rob Herley
67c3b7a45c
add tests for download artifact
2023-08-23 23:18:03 -04: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
188abfc20b
implement feedback
2023-08-09 17:42:14 -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
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
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
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
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
Rob Herley
eb7ed88d77
Merge branch 'main' into robherley/artifact-digest
2022-05-19 11:45:42 -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
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
c5d1911357
add digest header for uploads
2022-04-04 17:54:15 -04: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
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
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
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
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
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
Yang Cao
ace7a82469
Add an option to specify retention days for artifacts ( #575 )
...
* Add an option to specify retention days for artifacts
* Validate against settings exposed as env var to give early feedback
* Fix lint
* Add tests and addressing feedback
* Update packages/artifact/__tests__/upload.test.ts
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
* Update packages/artifact/README.md
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
* Update packages/artifact/src/internal/utils.ts
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
* Update packages/artifact/__tests__/util.test.ts
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
Co-authored-by: Konrad Pabjan <konradpabjan@github.com>
2020-09-18 11:30:00 -04:00
Konrad Pabjan
b2cba168a2
Retry on 413 ( #540 )
2020-08-04 16:57:38 +02:00
Konrad Pabjan
3a9dc00629
Better Artifact Telemetry + Increase Upload chunk size ( #535 )
...
* Differentiate user-agents for better internal telemetry
* Bump chunk size from 4 to 8 MB
* Update User-Agent Strings
2020-07-30 17:23:28 +02:00
Konrad Pabjan
628f82f221
Correctly reset chunk during artifact upload on retry ( #458 )
...
* Correctly reset chunk during artifact upload on retry
* Update workflow
* Implementation details around the passthrough stream
2020-05-14 22:18:21 +02:00
Konrad Pabjan
0471ed4ad7
artifact header cleanup ( #441 )
...
* Update NPM packages for @actions/artifact
* Clarifications around headers
* Revert NPM updates
* Apply suggestions from code review
Co-authored-by: Josh Gross <joshmgross@github.com>
Co-authored-by: Josh Gross <joshmgross@github.com>
2020-05-12 17:48:36 +02:00
Konrad Pabjan
bb1053a8a7
@actions/artifact 0.3.1 update ( #420 )
...
* Updates to 0.3.1 package update
2020-04-20 22:58:53 +02:00
Pierre Grimaud
a28977e977
Fix typos ( #417 )
2020-04-20 12:56:03 +02:00
Konrad Pabjan
c010a271d9
@actions/artifact package updates ( #408 )
...
* Clear error message when storage quota has been hit
* Improved download of empty files
* Extra info to RELEASES.md
* PR Feedback
2020-04-09 17:14:12 +02:00
Konrad Pabjan
1b521c4778
Updates to @actions/artifact ( #396 )
...
* Add support for 429s and Exponential backoff
* Refactor status-reporter so it can be used with download and upload
* Extra logs
* Fixes around download & gzip
* Cleanup headers and add extra tests
* Improved Docs
* Spelling bloopers
* Improved error messages
* User http client version 1.0.7
2020-04-08 16:55:18 +02:00
Konrad Pabjan
dffb5572a9
Updates to @actions/artifact package ( #367 )
...
* GZip implementation
* Optimizations and cleanup
* Update tests
* More test updates
* Update packages/artifact/src/internal-utils.ts
Co-Authored-By: Josh Gross <joshmgross@github.com>
* Clarification around Upload Paths
* Refactor to make http clients classes
* GZip fixes
* Documentation around compression
* More detailed status information during large uploads
* Pretty format
* Percentage updates without rounding
* Fix edge cases with formatting numbers
* Update packages/artifact/src/internal-utils.ts
Co-Authored-By: Josh Gross <joshmgross@github.com>
* Cleanup
* Small reorg with status reporter
* PR Feedback
* Cleanup + Simplification
* Test Cleanup
* Mock updates
* More cleanup
* Format fixes
* Overhaul to the http-manager
* Fix tests
* Promisify stats
* Documentation around implementation
* Improvements to documentation
* PR Feedback
* Remove Downloading multiple artifacts concurrently
Co-authored-by: Josh Gross <joshmgross@github.com>
2020-03-12 14:50:27 +01:00
Konrad Pabjan
f383109dc3
@actions/artifact download artifacts ( #340 )
...
* Download Artifacts using @actions/artifact
2020-02-13 18:24:11 -05:00
Konrad Pabjan
6cbb8e9bc8
@actions/artifact package ( #304 )
...
* Initial commit for @actions/artifact package
2020-02-11 09:49:46 -05:00