Commit Graph
32 Commits
Author SHA1 Message Date
qmuntal dd137a579c refactor(cache): consolidate tar fallback handling and tests
Share the Windows BSD tar/zstd predicate and prepare archive and workspace
arguments once per command. Parameterize duplicate BSD-tar read tests and
use the real temporary-directory utilities in the concurrency fixture.

Retain the existing concurrency, path-handling, and failure coverage.
2026-09-17 15:47:36 +02:00
qmuntal da266fa6fd fix(cache): isolate Windows BSD tar temporary files
Run Windows BSD tar/zstd extraction and listing in private temporary
directories. Concurrent operations previously overwrote cache.tar in the
process working directory and could extract the wrong archive without
reporting an error. Debug listings during cache saves have the same race.

Resolve and quote archive and workspace paths before changing the child
working directory, and remove scratch files on success and failure.
Leave GNU tar, gzip, and the cache archive format unchanged.

Add deterministic regression tests for concurrent reads, relative paths
with spaces, and cleanup after failures in either subprocess.
2026-09-17 15:27:15 +02:00
Christoph Reiter bb9f0aa1c0 Don't set the MSYS env var globally (#1329)
85bb581273 introduced a call to exportVariable() to export the MSYS env
var, which configures the symlink strategy for MSYS2/cygwin binaries it calls.

By setting the env var globally, this also changes the behaviour of other MSYS2
using tools in a CI job, and also overrides MSYS configuration set by the user,
which I think was not intended.

To avoid this leakage set the MSYS env var only for the commands which
@actions/cache calls.

Fixes #1312
2023-02-08 10:58:25 +05:30
Sampark Sharma 85bb581273 Cache package release for compression change in windows with symlink fix (#1291)
* Cache package release for compression change in windows

This reverts commit d4fc1ac928.

* Add env variable to enable windows symlinks

* Add cross os opt-in functionality for cache on windows

* Fix test

* Address review comments

* Fix test

* Fix tests

* Fix tests

* Fix tests

* Address review comments

* Address review comments

* Fix tests

* Fix tests

* Add npm version

* Add release details
2023-01-04 12:16:25 +05:30
Sampark Sharma d4fc1ac928 Revert "Cache package release for compression change in windows" (#1289)
* Revert "Cache package release for compression change in windows (#1281)"

This reverts commit 6140e090c3.

* Update release version to patch
2022-12-27 16:00:28 +05:30
6140e090c3 Cache package release for compression change in windows (#1281)
* bsd + zstd fallback implementation

* bsd + zstd fallback implementation

* Fix tar operations

* Add -v option for testing

* Fix order of args for tar

* Add GNUtar as default on windows

* Fix test

* Fix tar tests

* Fix lint issues

* Fix windows gnutar test case

* Temporarily remove thhe condition that prevents zstd usage on windows unless with GNUtar

* Address some comments and correct compression commands

* Add windows bsdtar test

* Fix windows test

* Fix test

* Separate args

* Fix old tests

* Add new tests

* Fix tests

* Fix lint test

* Refactor code

* Address review comments

* Fix test

* Fix tar test

* Add await to async function calls

* Fix test

* Update for beta release

* Fix audit issues

* Add fallback to gzip compression if cache not found

* Fix test

* Add test

* Address review comments

* Revert Address review comments

* Release 3.1.0-beta.2 cache package

* Fix issues

* Reconfigure catch block

* Add debug logging for gzip fall back

* Fix test

* Add end to end test for cache using bsd on windows
and address review comments

* Fix test

* Fix test

* Fix tests

* Add better comments

* Update packages/cache/src/internal/cacheHttpClient.ts

Co-authored-by: Bishal Prasad <bishal-pdmsft@github.com>

* Address review comments

* Update for new beta cache package release

* Address bugbash issues

* Fix tests

* Release new actions/cache minor version

Co-authored-by: Lovepreet Singh <pdotl@github.com>
Co-authored-by: Bishal Prasad <bishal-pdmsft@github.com>
2022-12-22 20:47:35 +05:30
Sampark Sharma 4ade9d4c1a Revert "Add GNUtar as default in windows" 2022-11-17 12:26:27 +05:30
Sampark Sharma a4e0ab9aed Fix tests 2022-11-15 08:48:29 +00:00
Sampark Sharma cb8659f414 Address comments 2022-11-15 08:41:04 +00:00
Sampark Sharma 10f0f130f2 Fix tests 2022-11-14 10:11:46 +00:00
Sampark Sharma be8b56eaf5 Address review comments 2022-11-14 08:12:15 +00:00
Sampark Sharma 77aef0ed4c Fix tests 2022-11-10 15:50:06 +00:00
Sampark Sharma cc292001eb Fix tests 2022-11-08 06:43:28 +00:00
Lovepreet Singh 1e4d71c2ca Fix failing test cases on windows 2022-08-17 08:33:23 +00:00
Lovepreet Singh 601a55b62d Fix tar test cases 2022-07-18 12:48:19 +00:00
Sankalp Kotewar 24cec71274 Reverted other package-lock.json 2022-06-06 08:03:56 +00:00
Sankalp Kotewar 1ae91a9cd4 Revert "Fixed test case for tar creation"
This reverts commit 3738ec9e0e.
2022-06-06 07:56:23 +00:00
Sankalp Kotewar 54d053e436 Revert "Fixed test case for Windows env"
This reverts commit 030e8aae59.
2022-06-06 07:56:18 +00:00
Sankalp Kotewar b4cbf6ed63 Revert "Changed an import in test case to standard import"
This reverts commit a3ed6186f8.
2022-06-06 07:56:16 +00:00
Sankalp Kotewar 427da1ded7 Revert "Revert "Changed an import in test case to standard import""
This reverts commit babade1a37.
2022-06-06 07:56:13 +00:00
Sankalp Kotewar babade1a37 Revert "Changed an import in test case to standard import"
This reverts commit a3ed6186f8.
2022-06-03 09:05:12 +00:00
Sankalp Kotewar a3ed6186f8 Changed an import in test case to standard import 2022-06-03 07:45:12 +00:00
Sankalp Kotewar 030e8aae59 Fixed test case for Windows env 2022-06-03 07:33:12 +00:00
Sankalp Kotewar 3738ec9e0e Fixed test case for tar creation 2022-06-03 07:19:54 +00:00
Dave Hadka 1ebbd90cf3 Fix lint issue 2021-04-09 14:16:19 -05:00
Dave Hadka 6b5aa09767 Update tests 2021-04-09 14:10:36 -05:00
Benedek Kozma 8c920f7860 Use GNU tar on macOS if available (#701)
* use GNU tar on macOS

* remove unnecessary code

* formatting fix

* fix tests

* fix more tests

* typo fix

* fix test
2021-02-02 20:09:10 +01:00
Yaroslav Dynnikov 4a6443b8d2 Make caching more verbose
- Print cache size when saving cache similarly to restoring
- Print restore success similarly to saving
- Print cached file list if debug logging is enabled

See also: https://github.com/actions/cache/issues/471
2021-01-07 23:51:43 +03:00
Sora Morimoto 71ec744d46 Use posix archive format (#533)
* Use posix archive format

Signed-off-by: Sora Morimoto <sora@morimoto.io>

* Update package.json and RELEASES.md

Signed-off-by: Sora Morimoto <sora@morimoto.io>
2020-08-05 17:17:23 +02:00
Aiqiao Yan ebcc40bf9c Fix windows tests 2020-05-19 11:46:50 -04:00
Aiqiao Yan 3f105f84d2 Only use zstd on windows when gnu tar is installed, otherwise use gzip due to bug #301 2020-05-18 16:35:13 -04:00
Aiqiao Yan ab4976ef10 Initial commit to create @actions/cache package 2020-05-12 12:02:18 -04:00