Commit Graph
67 Commits
Author SHA1 Message Date
Rob Herley 21347bc00a push null at end of mocked message 2023-12-11 13:41:11 -05:00
Vallie Joseph 8e374f0c15 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
Rob Herley 1bd4136583 consistent promise behavior for download artifact 2023-12-05 18:35:26 +00:00
Rob Herley 1f6311c296 consistent promise behavior for get artifact 2023-12-05 17:56:18 +00:00
Rob Herley d61f5a8209 consistent promise behavior for upload artifact 2023-12-05 17:35:46 +00:00
Rob Herley 3e3216dd1b add tests for list-artifacts 2023-12-03 20:48:33 +00:00
Rob Herley e65cdd74ad get artifact tests 2023-12-03 19:43:37 +00:00
Rob Herley 76929666f6 wip 2023-12-03 06:24:49 +00:00
Rob Herley f0cfa22878 fix test expectations 2023-12-01 16:34:27 +00:00
Rob Herley 22d9c85575 update download-artifact tests for public and internal impl 2023-12-01 01:32:45 +00:00
Rob Herley c6e89b42bc some test updates 2023-12-01 00:31:27 +00:00
Rob Herley 2f7185e2cc use sha256 instead of md5 for artifact v4 integrity hash 2023-10-16 16:20:24 +00:00
Bethany 184b0612ae 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 221ce16dce linter 2023-08-24 09:16:35 -04:00
Rob Herley d89027a67a add tests for download artifact 2023-08-23 23:18:03 -04:00
Bethany d6f626ac82 merge download changes and lint 2023-08-23 14:02:50 -07:00
Bethany 2ad20d296b prettier 2023-08-23 13:55:26 -07:00
Bethany 6f3bf8e045 add tests for upload 2023-08-23 13:54:31 -07:00
Bethany c3b14fcc05 don't use non-null assertions 2023-08-09 17:48:53 -07:00
Bethany 3f53e15631 implement feedback 2023-08-09 17:42:14 -07:00
Bethany af46fdce8c update tests 2023-08-09 13:20:06 -07:00
Bethany 04f8ae1cea Add tests for backend id fetch 2023-08-09 12:29:43 -07:00
Bethany af479c07b9 lint 2023-08-09 07:10:43 -07:00
Bethany 49eb3a0db3 prettier 2023-08-08 13:19:43 -07:00
Bethany 57feac0323 tests and fix bug for retry 2023-08-08 12:49:05 -07:00
Bethany dfbde17a4d wip 2023-08-07 16:26:07 -07:00
Bethany e0d65bc269 wip 2023-08-07 14:24:58 -07:00
Bethany df8063ae41 pass in http client to constructor 2023-08-07 08:43:39 -07:00
Bethany 1d84c50048 Start writing tests 2023-08-04 13:00:58 -07:00
Konrad Pabjan dcba91f32d [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
Konrad Pabjan bf445b6f6d [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
Héctor Molinero Fernández a2d9c35652 [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
Rob Herley 98c309c2e0 Merge branch 'main' into robherley/artifact-digest 2022-05-19 11:45:42 -04:00
Brian Cristante 547ff5737a 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 d1cff5670b actually use md5 not sha256 2022-05-05 10:32:09 -04:00
Rob Herley 7bc2c5798c add md5 and use b64 for digest encodings 2022-05-05 09:26:38 -04:00
Rob Herley 202bbdbdc2 update crc header key 2022-04-27 22:22:35 +00:00
Rob Herley 5d4a0ae3ad crc: update test header data 2022-04-26 23:21:31 +00:00
Rob Herley 66f8014402 crc: update headers & digest stream 2022-04-26 22:59:56 +00:00
Rob Herley bb08acb405 crc: move tbl out of class, more tests 2022-04-26 17:31:17 +00:00
Rob Herley 2b24c67e85 add crc64 & tests 2022-04-26 17:13:40 +00:00
Rob Herley b78f9d835a artifact: tests for stream digest util 2022-04-05 09:31:49 -04:00
Zoran Regvart 9d6767c399 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 39a378198d [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 30feac4dc5 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
Zoran Regvart b34bb89807 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 77d96ef7df 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 ef0fa675fa 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 cf1d64fd9e 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 2c4f1a3166 style change, refactor arg sequence 2020-12-04 09:41:00 -05:00