1
0
Fork 0
Commit Graph

209 Commits (vmjoseph/v4-upload-download-blob-abort)

Author SHA1 Message Date
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
Chris Sidi ff4308098f
Remove spyon, use readable stream to test pipeResponseToFile (#651)
* Remove spyon, use readable stream to test pipeResponseToFile

* Check file contents
2020-11-30 12:12:12 -05:00
Thomas Boop 2bf7365352
Update @actions/core in remaining toolkit packages (#636)
* Update to latest @actions/core version

* Bump release notes for new versions

* Add correct pr #
2020-11-13 16:51:15 -05:00
Thomas Boop 4f7fb6513a
swap to file commands (#587)
* swap to file commands

* swap to require
2020-09-30 15:46:54 +02:00
Yang Cao bb290885a3
Release preparation of artifact 0.4.0 (#578) 2020-09-18 19:06:53 +02: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
Thomas Boop c2bc747506
Add License.md to all npm packages (#548)
* Add License.md to all npm packages
2020-08-25 16:26:50 -04:00
Ross Brodbeck 7f7e22a940
zeit renamed to vercel 2020-08-21 07:32:09 -04:00
Konrad Pabjan 6c5508d1fb @actions/artifact 0.3.5 2020-08-04 17:11:50 +02:00
Konrad Pabjan b2cba168a2
Retry on 413 (#540) 2020-08-04 16:57:38 +02:00
Konrad Pabjan 905b2c7b06 @actions/artifact 0.3.3 update 2020-07-30 17:30:41 +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
Thomas Boop ccad19055e
Set main as the default branch (#527)
* set main as the default branch

* revert change to tool-cache default branch

* use versions where applicable
2020-07-21 11:33:05 -04:00
Thomas Boop 95a10d23fa
Pipe audit results to a json file so lerna does not overflow (#515)
* Pipe audit results to a json file so lerna does not overflow

* reorder flags and args
2020-07-14 16:05:53 -04:00
Thomas Boop 3e40dd39cc
Explicitly exclude DS store files (#492) 2020-06-04 15:14:19 -04:00
Aiqiao Yan a67b91ea15
Merge pull request #448 from actions/users/aiyan/cache-package
Initial commit to create @actions/cache package
2020-05-15 13:41:32 -04:00
Konrad Pabjan 2fdf3b71f8 @actions/artifact 0.3.2 2020-05-15 18:34:09 +02:00
Aiqiao Yan d2b2399bd2 React to feedback 2020-05-15 12:26:42 -04: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
dependabot[bot] 97cabf0eb9
Bump @actions/http-client from 1.0.7 to 1.0.8 in /packages/artifact (#437)
Bumps [@actions/http-client](https://github.com/actions/http-client) from 1.0.7 to 1.0.8.
- [Release notes](https://github.com/actions/http-client/releases)
- [Changelog](https://github.com/actions/http-client/blob/master/RELEASES.md)
- [Commits](https://github.com/actions/http-client/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-05-01 11:32:41 +02:00
Konrad Pabjan 1688b117e1
E2E tests for the @actions/artifact package (#421)
* End-to-end artifact tests

* E2E tests for artifact package
2020-04-23 20:52:53 +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 905c2aa216
Contribution guidelines for artifact package (#388)
* Contribution guidelines
* PR Feedback
2020-03-24 10:13:06 +01:00
Konrad Pabjan cb7022ea2c
Update implementation-details.md 2020-03-20 18:42:18 +01:00
Konrad Pabjan b94f6a1340
Update additional-information.md 2020-03-19 15:56:27 +01:00
Konrad Pabjan b0e01b71c0
Update package-lock.json 2020-03-12 20:39:10 +01:00
Konrad Pabjan 3748609c73
Update package.json 2020-03-12 20:36:46 +01:00
Konrad Pabjan 37590cb3ee
Update RELEASES.md 2020-03-12 20:36:09 +01: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
eric sciple 259743ae13
update downloadTool to handle errors from response stream and retry (#369) 2020-03-05 12:05:27 -05: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