-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Implementation of node's caching #272
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
maxim-lobanov
merged 10 commits into
actions:main
from
akv-platform:add-caching-for-node-dependencies
Jun 30, 2021
Merged
Changes from 1 commit
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
3d0d4ed
Add node's caching implementation (#2)
dmitry-shibanov 05f3e9f
remove eol in gitattributes
dmitry-shibanov 1088324
remove workaround
dmitry-shibanov f2b87bb
Squashed commit of the following:
dmitry-shibanov d36a331
work on resolving comments
dmitry-shibanov 282049a
regenerate license (#7)
7292279
fix for documentation
dmitry-shibanov 55e1049
Merge branch 'main' into add-caching-for-node-dependencies
dmitry-shibanov b259ba4
rebuild project
dmitry-shibanov cfe70f9
update dependencies
dmitry-shibanov File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Squashed commit of the following:
commit 446068a Author: Alena Sviridenko <[email protected]> Date: Tue Jun 22 17:51:35 2021 +0300 updated headers commit d7e254e Author: Alena Sviridenko <[email protected]> Date: Thu Jun 17 17:35:34 2021 +0300 updated links commit ffd9956 Author: AlyonaSviridenko <[email protected]> Date: Thu Jun 17 17:33:41 2021 +0300 Added advanced usage commit 1e068f0 Author: AlyonaSviridenko <[email protected]> Date: Thu Jun 17 15:07:42 2021 +0300 Updated readme with caching commit 7528c33 Author: Maxim Lobanov <[email protected]> Date: Wed Jun 16 14:43:46 2021 +0300 Update versions.yml
- Loading branch information
commit f2b87bb2c2c57d8c6ec4728d6e8c930911a85f43
There are no files selected for viewing
This file contains hidden or 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 |
|---|---|---|
|
|
@@ -6,7 +6,7 @@ on: | |
| - '**.md' | ||
| push: | ||
| branches: | ||
| - main | ||
| - main | ||
| - releases/* | ||
| paths-ignore: | ||
| - '**.md' | ||
|
|
||
This file contains hidden or 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 hidden or 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,132 @@ | ||
| # Advanced usage | ||
|
|
||
| ### Check latest version: | ||
|
|
||
| The `check-latest` flag defaults to `false`. When set to `false`, the action will first check the local cache for a semver match. If unable to find a specific version in the cache, the action will attempt to download a version of Node.js. It will pull LTS versions from [node-versions releases](https://github.com/actions/node-versions/releases) and on miss or failure will fall back to the previous behavior of downloading directly from [node dist](https://nodejs.org/dist/). Use the default or set `check-latest` to `false` if you prefer stability and if you want to ensure a specific version of Node.js is always used. | ||
|
|
||
| If `check-latest` is set to `true`, the action first checks if the cached version is the latest one. If the locally cached version is not the most up-to-date, a version of Node.js will then be downloaded. Set `check-latest` to `true` it you want the most up-to-date version of Node.js to always be used. | ||
|
|
||
| > Setting `check-latest` to `true` has performance implications as downloading versions of Node is slower than using cached versions. | ||
|
|
||
| ```yaml | ||
| steps: | ||
| - uses: actions/checkout@v2 | ||
| - uses: actions/setup-node@v2 | ||
| with: | ||
| node-version: '14' | ||
| check-latest: true | ||
| - run: npm install | ||
| - run: npm test | ||
| ``` | ||
|
|
||
| ### Architecture: | ||
|
|
||
| You can use any of the [supported operating systems](https://docs.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners), and the compatible `architecture` can be selected using `architecture`. Values are `x86`, `x64`, `arm64`, `armv6l`, `armv7l`, `ppc64le`, `s390x` (not all of the architectures are available on all platforms). | ||
|
|
||
| When using `architecture`, `node-version` must be provided as well. | ||
| ```yaml | ||
| jobs: | ||
| build: | ||
| runs-on: windows-latest | ||
| name: Node sample | ||
| steps: | ||
| - uses: actions/checkout@v2 | ||
| - uses: actions/setup-node@v2 | ||
| with: | ||
| node-version: '14' | ||
| architecture: 'x64' # optional, x64 or x86. If not specified, x64 will be used by default | ||
| - run: npm install | ||
| - run: npm test | ||
| ``` | ||
|
|
||
| ### Multiple Operating Systems and Architectures: | ||
|
|
||
| ```yaml | ||
| jobs: | ||
| build: | ||
| runs-on: ${{ matrix.os }} | ||
| strategy: | ||
| matrix: | ||
| os: | ||
| - ubuntu-latest | ||
| - macos-latest | ||
| - windows-latest | ||
| node_version: | ||
| - 10 | ||
| - 12 | ||
| - 14 | ||
| architecture: | ||
| - x64 | ||
| # an extra windows-x86 run: | ||
| include: | ||
| - os: windows-2016 | ||
| node_version: 12 | ||
| architecture: x86 | ||
| name: Node ${{ matrix.node_version }} - ${{ matrix.architecture }} on ${{ matrix.os }} | ||
| steps: | ||
| - uses: actions/checkout@v2 | ||
| - name: Setup node | ||
| uses: actions/setup-node@v2 | ||
| with: | ||
| node-version: ${{ matrix.node_version }} | ||
| architecture: ${{ matrix.architecture }} | ||
| - run: npm install | ||
| - run: npm test | ||
| ``` | ||
|
|
||
| ### Publish to npmjs and GPR with npm: | ||
| ```yaml | ||
| steps: | ||
| - uses: actions/checkout@v2 | ||
| - uses: actions/setup-node@v2 | ||
| with: | ||
| node-version: '14.x' | ||
| registry-url: 'https://registry.npmjs.org' | ||
| - run: npm install | ||
| - run: npm publish | ||
| env: | ||
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | ||
| - uses: actions/setup-node@v2 | ||
| with: | ||
| registry-url: 'https://npm.pkg.github.com' | ||
| - run: npm publish | ||
| env: | ||
| NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| ``` | ||
|
|
||
| ### Publish to npmjs and GPR with yarn: | ||
| ```yaml | ||
| steps: | ||
| - uses: actions/checkout@v2 | ||
| - uses: actions/setup-node@v2 | ||
| with: | ||
| node-version: '14.x' | ||
| registry-url: <registry url> | ||
| - run: yarn install | ||
| - run: yarn publish | ||
| env: | ||
| NODE_AUTH_TOKEN: ${{ secrets.YARN_TOKEN }} | ||
| - uses: actions/setup-node@v2 | ||
| with: | ||
| registry-url: 'https://npm.pkg.github.com' | ||
| - run: yarn publish | ||
| env: | ||
| NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| ``` | ||
|
|
||
| ### Use private packages: | ||
| ```yaml | ||
| steps: | ||
| - uses: actions/checkout@v2 | ||
| - uses: actions/setup-node@v2 | ||
| with: | ||
| node-version: '14.x' | ||
| registry-url: 'https://registry.npmjs.org' | ||
| # Skip post-install scripts here, as a malicious | ||
| # script could steal NODE_AUTH_TOKEN. | ||
| - run: npm install --ignore-scripts | ||
| env: | ||
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | ||
| # `npm rebuild` will run all those post-install scripts for us. | ||
| - run: npm rebuild && npm run prepare --if-present | ||
| ``` |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.