This repository has been archived by the owner on Aug 21, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
temporary workaround as actions/setup-node@v3 does not support yarn berry see https://gist.github.com/belgattitude/042f9caf10d029badbde6cf9d43e400a and actions/setup-node#488 (comment)
- Loading branch information
Showing
6 changed files
with
63 additions
and
45 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
######################################################################################## | ||
# "yarn install" composite action for yarn 2/3/4+ and "nodeLinker: node-modules" # | ||
#--------------------------------------------------------------------------------------# | ||
# Cache: # | ||
# - Downloaded zip archive (multi-arch, preserved across yarn.lock changes) # | ||
# - Yarn install state (discarded on yarn.lock changes) # | ||
# References: # | ||
# - bench: https://gist.github.com/belgattitude/0ecd26155b47e7be1be6163ecfbb0f0b # | ||
# - vs @setup/node: https://github.com/actions/setup-node/issues/325 # | ||
######################################################################################## | ||
|
||
name: "Yarn install" | ||
description: "Run yarn install with node_modules linker and cache enabled" | ||
|
||
runs: | ||
using: "composite" | ||
steps: | ||
- name: Expose yarn config as "$GITHUB_OUTPUT" | ||
id: yarn-config | ||
shell: bash | ||
run: | | ||
echo "CACHE_FOLDER=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT | ||
# Yarn rotates the downloaded cache archives, @see https://github.com/actions/setup-node/issues/325 | ||
# Yarn cache is also reusable between arch and os. | ||
- name: Restore yarn cache | ||
uses: actions/cache@v3 | ||
id: yarn-download-cache | ||
with: | ||
path: ${{ steps.yarn-config.outputs.CACHE_FOLDER }} | ||
key: yarn-download-cache-${{ hashFiles('yarn.lock') }} | ||
restore-keys: | | ||
yarn-download-cache- | ||
# Invalidated on yarn.lock changes | ||
- name: Restore yarn install state | ||
id: yarn-install-state-cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: .yarn/ci-cache/ | ||
key: ${{ runner.os }}-yarn-install-state-cache-${{ hashFiles('yarn.lock', '.yarnrc.yml') }} | ||
|
||
- name: Install dependencies | ||
shell: bash | ||
run: | | ||
yarn install --immutable --inline-builds | ||
env: | ||
# CI optimizations. Overrides yarnrc.yml options (or their defaults) in the CI action. | ||
YARN_ENABLE_GLOBAL_CACHE: "false" # Use local cache folder to keep downloaded archives | ||
YARN_NM_MODE: "hardlinks-local" # Hardlinks-(local|global) reduces io / node_modules size | ||
YARN_INSTALL_STATE_PATH: .yarn/ci-cache/install-state.gz # Very small speedup when lock does not change | ||
# Other environment variables | ||
HUSKY: "0" # By default do not run HUSKY install |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters