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.
💡 See https://github.com/actions/toolkit/pull/1064 for a better diff!
https://github.com/actions/toolkit contains a variety of packages used for building actions. https://github.com/actions/http-client is one such package, but lives outside of the toolkit. Moving it inside of the toolkit will improve discoverability and reduce the number of repos we have to keep track of for maintenance tasks (such as github/c2c-actions-service#2937).
I checked with @bryanmacfarlane on the historical decision here. Apparently it was just inertia from before we released the toolkit as multiple packages.
The benefits here are:
- Have one fewer repo to keep track of
- Signal that this is an HTTP client meant for building actions, not for general use.
## Notes
- `@actions/http-client` will continue to be released as its own package.
- Bumping the package version to **2.0.0**. Since we're compiling in strict mode now, there are some breaking changes to the exported types. This is an improvement because the null-unsafe version of`http-client` is currently breaking the safety of null-safe consumers.
- I'm not updating the other packages to use the new version in this PR. I plan to do that in a follow-up. We'll hold off on publishing `http-client` v2 to NPM until that's done just in case other changes shake out of it.
* Added verbose mode in hashFiles
* Code formatting
* Change verboseMode arg to verbose
Co-authored-by: Thomas Boop <52323235+thboop@users.noreply.github.com>
* Using verbose instead of verboseMode as arg
Co-authored-by: Thomas Boop <52323235+thboop@users.noreply.github.com>
* Added cacheSize in ReserveCache API request
* minor
* minor
* minor
* Cleanup
* package-lock revert
* Modified tests
* New Response Type
* cleanup
* Linting
* Lint fix
* Resolved comments
* Added tests
* package-lock
* Resolved package-lock mismatch
* Liniting
* Update packages/cache/src/cache.ts
Co-authored-by: Bishal Prasad <bishal-pdmsft@github.com>
* Linting issue
* Resolved few comments
* version upgrade
* Savecache tests
* RequestUtil test
* test
* test
* test
* test
* test
* test
* test
* test
* test
* test
Co-authored-by: Apple <apple@Apples-MacBook-Pro.local>
Co-authored-by: Bishal Prasad <bishal-pdmsft@github.com>
* Added support to check if Artifact cache service is enabled or not.
* enablingForGHES
* added ACTIONS_CACHE_URL in fixtures
* Fix CI
* CI fix
* changed function name
* Function rename
* Updated release
* added test case
* Update RELEASES.md
* Lint errors
* lint
* linting
* lint
* update name to actions service
* Update packages/cache/src/internal/cacheUtils.ts
Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>
* review comments
* linting
* linting
* push to start CI
* Update RELEASES.md
* remove extra spaces
* reverting version update
* Revert "reverting version update"
This reverts commit af84eba61e.
* Update RELEASES.md
Co-authored-by: Brian Cristante <33549821+brcrista@users.noreply.github.com>
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
* Check for newlines and carriage return in artifact paths and name
* Fix linting issue
* Update comments
* Add comment about spacing
* Remove extra space
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.