Skip to content

Detect cached folders from multiple directories#735

Merged
MaksimZhukov merged 21 commits intoactions:mainfrom
akv-platform:project-dir
Jun 21, 2023
Merged

Detect cached folders from multiple directories#735
MaksimZhukov merged 21 commits intoactions:mainfrom
akv-platform:project-dir

Conversation

@dsame
Copy link
Contributor

@dsame dsame commented Apr 10, 2023

Description:

Traverse all the sub directories derived from cache-dependency-path input and add detect all dependencies directories to cache.

The key change is to replace getCacheDirectoryPath with getCacheDirectoriesPaths

The major changes are:

  • modifying interface PackageManagerInfo to have name field (to avoid passing it as a parameter to
    many functions) and replace string property getCacheFolderCommand with a function getCacheFolderPath: (projectDir?: string) => Promise<string>
  • adding a function expandCacheDependencyPath to expand string cache-dependency-path input that can be either
    one file or glob pattern and multiline list of files or glob patterns

The other code changes are clue and mappings from expanded cache-dependency-path to the array of directories to cache.

and minor but worth to be noted change is
src/cache-save.ts

 // TODO: core.getInput has a bug - it can return undefined despite its definition // export declare function getInput(name: string, options?: InputOptions): string; const cacheDependencyPath = core.getInput('cache-dependency-path') || ''; 

Related issue:
link to original issue
link to milestone issue

Check list:

  • Mark if documentation changes are required.
  • Mark if tests were added or updated to cover the changes.
@dsame dsame requested a review from a team as a code owner April 10, 2023 15:08
@dsame dsame changed the title Add project-dir Detect current working directory Apr 11, 2023
kish3499

This comment was marked as spam.

@dsame dsame force-pushed the project-dir branch 6 times, most recently from 3e5c14d to 15c2532 Compare April 19, 2023 14:21
@dsame

This comment was marked as outdated.

@dsame dsame force-pushed the project-dir branch 5 times, most recently from bca9c4f to 3527195 Compare April 24, 2023 09:54
@dsame dsame force-pushed the project-dir branch 2 times, most recently from c0ab8e3 to b67cbdb Compare May 8, 2023 16:50
@dsame dsame force-pushed the project-dir branch 4 times, most recently from a690446 to 4ce3252 Compare May 17, 2023 07:58
@dsame dsame changed the title Detect current working directory Detect cached folders from multiple directories May 17, 2023
@dsame dsame force-pushed the project-dir branch 3 times, most recently from b2328f1 to 47381ae Compare May 19, 2023 18:33
@dsame dsame force-pushed the project-dir branch 4 times, most recently from 001e87e to 49b76fb Compare June 6, 2023 13:53
@dsame dsame force-pushed the project-dir branch 6 times, most recently from 2308e96 to e6a6894 Compare June 8, 2023 12:18
@IvanZosimov IvanZosimov removed their assignment Jun 9, 2023
@dsame dsame force-pushed the project-dir branch 3 times, most recently from 8951c11 to f792668 Compare June 16, 2023 12:45
Copy link
Contributor

@marko-zivic-93 marko-zivic-93 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! :)

@MaksimZhukov MaksimZhukov merged commit 8170e22 into actions:main Jun 21, 2023
CrispyBaguette pushed a commit to CrispyBaguette/wasm-palette-converter that referenced this pull request Nov 8, 2024
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/setup-node](https://github.com/actions/setup-node) | action | major | `v2.5.2` -> `v4.1.0` | --- ### Release Notes <details> <summary>actions/setup-node (actions/setup-node)</summary> ### [`v4.1.0`](https://github.com/actions/setup-node/releases/tag/v4.1.0) [Compare Source](actions/setup-node@v4.0.4...v4.1.0) #### What's Changed - Resolve High Security Alerts by upgrading Dependencies by [@&#8203;aparnajyothi-y](https://github.com/aparnajyothi-y) in actions/setup-node#1132 - Upgrade IA Publish by [@&#8203;Jcambass](https://github.com/Jcambass) in actions/setup-node#1134 - Revise `isGhes` logic by [@&#8203;jww3](https://github.com/jww3) in actions/setup-node#1148 - Add architecture to cache key by [@&#8203;pengx17](https://github.com/pengx17) in actions/setup-node#843 This addresses issues with caching by adding the architecture (arch) to the cache key, ensuring that cache keys are accurate to prevent conflicts. Note: This change may break previous cache keys as they will no longer be compatible with the new format. #### New Contributors - [@&#8203;jww3](https://github.com/jww3) made their first contribution in actions/setup-node#1148 - [@&#8203;pengx17](https://github.com/pengx17) made their first contribution in actions/setup-node#843 **Full Changelog**: actions/setup-node@v4...v4.1.0 ### [`v4.0.4`](https://github.com/actions/setup-node/releases/tag/v4.0.4) [Compare Source](actions/setup-node@v4.0.3...v4.0.4) #### What's Changed - Add workflow file for publishing releases to immutable action package by [@&#8203;Jcambass](https://github.com/Jcambass) in actions/setup-node#1125 - Enhance Windows ARM64 Setup and Update micromatch Dependency by [@&#8203;priyagupta108](https://github.com/priyagupta108) in actions/setup-node#1126 ##### Documentation changes: - Documentation update in the README file by [@&#8203;suyashgaonkar](https://github.com/suyashgaonkar) in actions/setup-node#1106 - Correct invalid 'lts' version string reference by [@&#8203;fulldecent](https://github.com/fulldecent) in actions/setup-node#1124 #### New Contributors - [@&#8203;suyashgaonkar](https://github.com/suyashgaonkar) made their first contribution in actions/setup-node#1106 - [@&#8203;priyagupta108](https://github.com/priyagupta108) made their first contribution in actions/setup-node#1126 - [@&#8203;Jcambass](https://github.com/Jcambass) made their first contribution in actions/setup-node#1125 - [@&#8203;fulldecent](https://github.com/fulldecent) made their first contribution in actions/setup-node#1124 **Full Changelog**: actions/setup-node@v4...v4.0.4 ### [`v4.0.3`](https://github.com/actions/setup-node/releases/tag/v4.0.3) [Compare Source](actions/setup-node@v4.0.2...v4.0.3) #### What's Changed ##### Bug fixes: - Fix macos latest check failures by [@&#8203;HarithaVattikuti](https://github.com/HarithaVattikuti) in actions/setup-node#1041 ##### Documentation changes: - Documentation update to update default Node version to 20 by [@&#8203;bengreeley](https://github.com/bengreeley) in actions/setup-node#949 ##### Dependency updates: - Bump undici from 5.26.5 to 5.28.3 by [@&#8203;dependabot](https://github.com/dependabot) in actions/setup-node#965 - Bump braces from 3.0.2 to 3.0.3 and other dependency updates by [@&#8203;dependabot](https://github.com/dependabot) in actions/setup-node#1087 #### New Contributors - [@&#8203;bengreeley](https://github.com/bengreeley) made their first contribution in actions/setup-node#949 - [@&#8203;HarithaVattikuti](https://github.com/HarithaVattikuti) made their first contribution in actions/setup-node#1041 **Full Changelog**: actions/setup-node@v4...v4.0.3 ### [`v4.0.2`](https://github.com/actions/setup-node/releases/tag/v4.0.2) [Compare Source](actions/setup-node@v4.0.1...v4.0.2) #### What's Changed - Add support for `volta.extends` by [@&#8203;ThisIsManta](https://github.com/ThisIsManta) in actions/setup-node#921 - Add support for arm64 Windows by [@&#8203;dmitry-shibanov](https://github.com/dmitry-shibanov) in actions/setup-node#927 #### New Contributors - [@&#8203;ThisIsManta](https://github.com/ThisIsManta) made their first contribution in actions/setup-node#921 **Full Changelog**: actions/setup-node@v4.0.1...v4.0.2 ### [`v4.0.1`](https://github.com/actions/setup-node/releases/tag/v4.0.1) [Compare Source](actions/setup-node@v4.0.0...v4.0.1) #### What's Changed - Ignore engines in Yarn 1 e2e-cache tests by [@&#8203;trivikr](https://github.com/trivikr) in actions/setup-node#882 - Update setup-node references in the README.md file to setup-node@v4 by [@&#8203;jwetzell](https://github.com/jwetzell) in actions/setup-node#884 - Update reusable workflows to use Node.js v20 by [@&#8203;MaksimZhukov](https://github.com/MaksimZhukov) in actions/setup-node#889 - Add fix for cache to resolve slow post action step by [@&#8203;aparnajyothi-y](https://github.com/aparnajyothi-y) in actions/setup-node#917 - Fix README.md by [@&#8203;takayamaki](https://github.com/takayamaki) in actions/setup-node#898 - Add `package.json` to `node-version-file` list of examples. by [@&#8203;TWiStErRob](https://github.com/TWiStErRob) in actions/setup-node#879 - Fix node-version-file interprets entire package.json as a version by [@&#8203;NullVoxPopuli](https://github.com/NullVoxPopuli) in actions/setup-node#865 #### New Contributors - [@&#8203;trivikr](https://github.com/trivikr) made their first contribution in actions/setup-node#882 - [@&#8203;jwetzell](https://github.com/jwetzell) made their first contribution in actions/setup-node#884 - [@&#8203;aparnajyothi-y](https://github.com/aparnajyothi-y) made their first contribution in actions/setup-node#917 - [@&#8203;takayamaki](https://github.com/takayamaki) made their first contribution in actions/setup-node#898 - [@&#8203;TWiStErRob](https://github.com/TWiStErRob) made their first contribution in actions/setup-node#879 - [@&#8203;NullVoxPopuli](https://github.com/NullVoxPopuli) made their first contribution in actions/setup-node#865 **Full Changelog**: actions/setup-node@v4...v4.0.1 ### [`v4.0.0`](https://github.com/actions/setup-node/releases/tag/v4.0.0) [Compare Source](actions/setup-node@v3.8.2...v4.0.0) #### What's Changed In scope of this release we changed version of node runtime for action from node16 to node20 and updated dependencies in actions/setup-node#866 Besides, release contains such changes as: - Upgrade actions/checkout to v4 by [@&#8203;gmembre-zenika](https://github.com/gmembre-zenika) in actions/setup-node#868 - Update actions/checkout for documentation and yaml by [@&#8203;dmitry-shibanov](https://github.com/dmitry-shibanov) in actions/setup-node#876 #### New Contributors - [@&#8203;gmembre-zenika](https://github.com/gmembre-zenika) made their first contribution in actions/setup-node#868 **Full Changelog**: actions/setup-node@v3...v4.0.0 ### [`v3.8.2`](https://github.com/actions/setup-node/releases/tag/v3.8.2) [Compare Source](actions/setup-node@v3.8.1...v3.8.2) #### What's Changed - Update semver by [@&#8203;dmitry-shibanov](https://github.com/dmitry-shibanov) in actions/setup-node#861 - Update temp directory creation by [@&#8203;nikolai-laevskii](https://github.com/nikolai-laevskii) in actions/setup-node#859 - Bump [@&#8203;babel/traverse](https://github.com/babel/traverse) from 7.15.4 to 7.23.2 by [@&#8203;dependabot](https://github.com/dependabot) in actions/setup-node#870 - Add notice about binaries not being updated yet by [@&#8203;nikolai-laevskii](https://github.com/nikolai-laevskii) in actions/setup-node#872 - Update toolkit cache and core by [@&#8203;dmitry-shibanov](https://github.com/dmitry-shibanov) and [@&#8203;seongwon-privatenote](https://github.com/seongwon-privatenote) in actions/setup-node#875 **Full Changelog**: actions/setup-node@v3...v3.8.2 ### [`v3.8.1`](https://github.com/actions/setup-node/releases/tag/v3.8.1) [Compare Source](actions/setup-node@v3.8.0...v3.8.1) #### What's Changed In scope of this release, the filter was removed within the cache-save step by [@&#8203;dmitry-shibanov](https://github.com/dmitry-shibanov) in actions/setup-node#831. It is filtered and checked in the toolkit/cache library. **Full Changelog**: actions/setup-node@v3...v3.8.1 ### [`v3.8.0`](https://github.com/actions/setup-node/releases/tag/v3.8.0) [Compare Source](actions/setup-node@v3.7.0...v3.8.0) #### What's Changed ##### Bug fixes: - Add check for existing paths by [@&#8203;dmitry-shibanov](https://github.com/dmitry-shibanov) in actions/setup-node#803 - Resolve SymbolicLink by [@&#8203;dmitry-shibanov](https://github.com/dmitry-shibanov) in actions/setup-node#809 - Change passing logic for cache input by [@&#8203;dmitry-shibanov](https://github.com/dmitry-shibanov) in actions/setup-node#816 - Fix armv7 cache issue by [@&#8203;louislam](https://github.com/louislam) in actions/setup-node#794 - Update check-dist workflow name by [@&#8203;sinchang](https://github.com/sinchang) in actions/setup-node#710 ##### Feature implementations: - feat: handling the case where "node" is used for tool-versions file. by [@&#8203;xytis](https://github.com/xytis) in actions/setup-node#812 ##### Documentation changes: - Refer to semver package name in README.md by [@&#8203;olleolleolle](https://github.com/olleolleolle) in actions/setup-node#808 ##### Update dependencies: - Update toolkit cache to fix zstd by [@&#8203;dmitry-shibanov](https://github.com/dmitry-shibanov) in actions/setup-node#804 - Bump tough-cookie and [@&#8203;azure/ms-rest-js](https://github.com/azure/ms-rest-js) by [@&#8203;dependabot](https://github.com/dependabot) in actions/setup-node#802 - Bump semver from 6.1.2 to 6.3.1 by [@&#8203;dependabot](https://github.com/dependabot) in actions/setup-node#807 - Bump word-wrap from 1.2.3 to 1.2.4 by [@&#8203;dependabot](https://github.com/dependabot) in actions/setup-node#815 #### New Contributors - [@&#8203;olleolleolle](https://github.com/olleolleolle) made their first contribution in actions/setup-node#808 - [@&#8203;louislam](https://github.com/louislam) made their first contribution in actions/setup-node#794 - [@&#8203;sinchang](https://github.com/sinchang) made their first contribution in actions/setup-node#710 - [@&#8203;xytis](https://github.com/xytis) made their first contribution in actions/setup-node#812 **Full Changelog**: actions/setup-node@v3...v3.8.0 ### [`v3.7.0`](https://github.com/actions/setup-node/releases/tag/v3.7.0) [Compare Source](actions/setup-node@v3.6.0...v3.7.0) #### What's Changed In scope of this release we added a logic to save an additional cache path for yarn 3 ([related pull request](actions/setup-node#744) and [feature request](actions/setup-node#325)). Moreover, we added functionality to use all the sub directories derived from `cache-dependency-path` input and add detect all dependencies directories to cache (related [pull request](actions/setup-node#735) and [feature request](actions/setup-node#488)). ##### Besides, we made such changes as: - Replace workflow badge with new badge by [@&#8203;jongwooo](https://github.com/jongwooo) in actions/setup-node#653 - Fix a minor typo by [@&#8203;phanan](https://github.com/phanan) in actions/setup-node#662 - docs: fix typo in advanced-usage.md by [@&#8203;remarkablemark](https://github.com/remarkablemark) in actions/setup-node#697 - bugfix: Don't attempt to use Windows fallbacks on non-Windows OSes by [@&#8203;domdomegg](https://github.com/domdomegg) in actions/setup-node#718 - Update to node 18.x by [@&#8203;feelepxyz](https://github.com/feelepxyz) in actions/setup-node#751 - Remove implicit dependencies by [@&#8203;nikolai-laevskii](https://github.com/nikolai-laevskii) in actions/setup-node#758 - Fix description about ensuring workflow access to private package by [@&#8203;x86chi](https://github.com/x86chi) in actions/setup-node#704 #### New Contributors - [@&#8203;jongwooo](https://github.com/jongwooo) made their first contribution in actions/setup-node#653 - [@&#8203;phanan](https://github.com/phanan) made their first contribution in actions/setup-node#662 - [@&#8203;remarkablemark](https://github.com/remarkablemark) made their first contribution in actions/setup-node#697 - [@&#8203;domdomegg](https://github.com/domdomegg) made their first contribution in actions/setup-node#718 - [@&#8203;feelepxyz](https://github.com/feelepxyz) made their first contribution in actions/setup-node#751 - [@&#8203;nikolai-laevskii](https://github.com/nikolai-laevskii) made their first contribution in actions/setup-node#758 - [@&#8203;x86chi](https://github.com/x86chi) made their first contribution in actions/setup-node#704 **Full Changelog**: actions/setup-node@v3...v3.7.0 ### [`v3.6.0`](https://github.com/actions/setup-node/releases/tag/v3.6.0): Add Support for Nightly, Canary and RC builds for Node.js [Compare Source](actions/setup-node@v3.5.1...v3.6.0) In scope of this release we added support to download nightly, rc (actions/setup-node#611) and canary (actions/setup-node#619) Node.js distributions. ##### For nightly versions: ```yaml jobs: build: runs-on: ubuntu-latest name: Node sample steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '16-nightly' - run: npm ci - run: npm test ``` ##### For canary versions: ```yaml jobs: build: runs-on: ubuntu-latest name: Node sample steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '16-v8-canary’ - run: npm ci - run: npm test ``` ##### For rc versions: ```yaml jobs: build: runs-on: ubuntu-latest name: Node sample steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '16.0.0-rc.1’ - run: npm ci - run: npm test ``` Note: For more examples please refer to [documentation](https://github.com/actions/setup-node#advanced-usage). Besides, we added the following changes as: - Updated minimatch: actions/setup-node#608 - Fixed extra newline character in version output when reading from a file: actions/setup-node#625 - Passed the token input through on GHES: actions/setup-node#595 - Fixed issue with scoped registries are duplicated in npmrc: actions/setup-node#637 ### [`v3.5.1`](https://github.com/actions/setup-node/releases/tag/v3.5.1): Update @&#8203;actions/core and Print Node, Npm, Yarn versions [Compare Source](actions/setup-node@v3.5.0...v3.5.1) In scope of this release we updated [actions/core to 1.10.0](actions/setup-node#587). Moreover, we added logic [to print Nodejs, Npm, Yarn versions](actions/setup-node#368) after installation. ### [`v3.5.0`](https://github.com/actions/setup-node/releases/tag/v3.5.0): Add support for engines.node and Volta [Compare Source](actions/setup-node@v3.4.1...v3.5.0) In scope of this release we add support for engines.node. The action will be able to grab the version form package.json#engines.node. actions/setup-node#485. Moreover, we [added support for Volta](actions/setup-node#532) Besides, we updated [@&#8203;actions/core to 1.9.1](actions/setup-node#574) and [@&#8203;actions/cache to 3.0.4](actions/setup-node#573) ### [`v3.4.1`](https://github.com/actions/setup-node/releases/tag/v3.4.1): Fix pnpm output and node-version output issues [Compare Source](actions/setup-node@v3.4.0...v3.4.1) In scope of this release we fixed bugs related to the pnpm 7.5.1 output issue from `pnpm store path` actions/setup-node#545. Moreover we fixed the issue with falling on node-version output actions/setup-node#540. ### [`v3.4.0`](https://github.com/actions/setup-node/releases/tag/v3.4.0): Add support for asdf format and update actions/cache version to 3.0.0 [Compare Source](actions/setup-node@v3.3.0...v3.4.0) In scope of this release we updated `actions/cache` package as the new version contains fixes for [caching error handling](actions/setup-node#526). Moreover, we added support for asdf format as Node.js version file actions/setup-node#373. Besides, we introduced new output [node-version](actions/setup-node#534) and added `npm-shrinkwrap.json` to dependency file patterns: actions/setup-node#439 ### [`v3.3.0`](https://github.com/actions/setup-node/releases/tag/v3.3.0): Add support for lts/-n aliases [Compare Source](actions/setup-node@v3.2.0...v3.3.0) In scope of this release we added support for `lts/-n` aliases, improve logic for `current`, `latest` and `node` aliases to handle them from `toolcache`, update `ncc` package. ##### Support of lts/-n aliases - Related pull request: actions/setup-node#481 - Related issue: actions/setup-node#26 ```yaml steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: lts/-1 - run: npm ci - run: npm test ``` ##### Minor improvements - Update zeit/ncc to vercel/ncc: actions/setup-node#476 - Get latest version from cache if exists: actions/setup-node#496 ### [`v3.2.0`](https://github.com/actions/setup-node/releases/tag/v3.2.0): Add current, node, latest aliases [Compare Source](actions/setup-node@v3.1.1...v3.2.0) In scope of this release we added new aliases to install the latest Node.js version. actions/setup-node#483 ```yml steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: current - run: npm ci - run: npm test ``` ### [`v3.1.1`](https://github.com/actions/setup-node/releases/tag/v3.1.1): Update actions/cache version to 2.0.2 [Compare Source](actions/setup-node@v3.1.0...v3.1.1) In scope of this release we updated `actions/cache` package as the new version contains fixes related to GHES 3.5 (actions/setup-node#460) ### [`v3.1.0`](https://github.com/actions/setup-node/releases/tag/v3.1.0): Add caching support on GHES 3.5 [Compare Source](actions/setup-node@v3.0.0...v3.1.0) In scope of this release we added [support for caching from GHES 3.5](actions/setup-node#452) and fixed download issue for files > 2GB during restore. Besides, we updated `actions/cache` dependency to 2.0.0 version. ### [`v3.0.0`](https://github.com/actions/setup-node/releases/tag/v3.0.0) [Compare Source](actions/setup-node@v2.5.2...v3.0.0) In scope of this release we changed version of the runtime Node.js for the setup-node action and updated package-lock.json file to v2. ##### Breaking Changes - With the update to Node 16 in actions/setup-node#414, all scripts will now be run with Node 16 rather than Node 12. - We removed deprecated `version` input (actions/setup-node#424). Please use `node-version` input instead. </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44LjAiLCJ1cGRhdGVkSW5WZXIiOiIzOS44LjAiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIiLCJsYWJlbHMiOltdfQ==--> Reviewed-on: https://gitea.bruyant.xyz/alexandre/PaletteSwitcher/pulls/56 Co-authored-by: Renovate <renovate@bruyant.xyz> Co-committed-by: Renovate <renovate@bruyant.xyz>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

7 participants