-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Add support for nightly and rc versions #611
Add support for nightly and rc versions #611
Conversation
@@ -0,0 +1,35 @@ | |||
[ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have docs for maintainers on where these files come from and when to update them?
@@ -338,10 +365,57 @@ async function resolveVersionFromManifest( | |||
} | |||
} | |||
|
|||
function evaluateNightlyVersions( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like the same function is being added in #605. I suggested some small changes there to simplify it.
docs/advanced-usage.md
Outdated
- uses: actions/checkout@v3 | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: '16.0.0-nightly' # or 16-nightly |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To avoid ambiguity, I think it's worth a separate explanation of what the 16-nightly
syntax means. From my understanding, it means the same thing as saying node-version: 16
but for nightlies. So, it will find the nightly for the latest Node 16 (as opposed to 16.0.0).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, sure. I will add more context about major-nightly
syntax.
.github/workflows/versions.yml
Outdated
fail-fast: false | ||
matrix: | ||
os: [ubuntu-latest, windows-latest, macos-latest] | ||
node-version: [17-nightly, 18-nightly, 19-nightly] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I notice we test the version range syntax here and exact versions for RC. But, we support both for both cases, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the rc versions it's required to specify the full version. Semver does not support range for rc versions that is why we use the same behaviour as for setup-go https://github.com/actions/setup-go. Besides, nightly syntax is not included to SemVer that is why we use similar approach as for setup-python pypy: https://github.com/actions/setup-python/blob/main/docs/advanced-usage.md#specifying-a-pypy-version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok. Do we want to test an exact version for nightly at least?
- uses: actions/checkout@v3 | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: '16.0.0-rc.1' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would be worth explicitly calling out that version ranges are not supported for RC. Clearly I was confused by this 🙃
## Here the list of files in the data directory | ||
- `.nvmrc`, `.tools-versions` and `package.json` are used to test node-version-file logic | ||
- `package-lock.json`, `pnpm-lock.yaml` and `yarn.lock` are used to test cache logic | ||
- `versions-manifest.json` is used for unit testing to check downloading Node.js versions from the node-versions repository. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add some info on where these files come from?
docs/advanced-usage.md
Outdated
- uses: actions/checkout@v3 | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: '16.0.0-nightly' # it will install the latest nigthly release for node 16.0.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
node-version: '16.0.0-nightly' # it will install the latest nigthly release for node 16.0.0 | |
node-version: '16.0.0-nightly' # it will install the latest nightly release for node 16.0.0 |
docs/advanced-usage.md
Outdated
@@ -117,7 +135,23 @@ jobs: | |||
- uses: actions/checkout@v3 | |||
- uses: actions/setup-node@v3 | |||
with: | |||
node-version: '16.0.0-nightly' # or 16-nightly | |||
node-version: '16-nightly' # it will install the latest nigthly release for node 16 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
node-version: '16-nightly' # it will install the latest nigthly release for node 16 | |
node-version: '16-nightly' # it will install the latest nightly release for node 16 |
docs/advanced-usage.md
Outdated
You can specify a nightly version to download it from https://nodejs.org/download/nightly. | ||
You can specify a nightly version to download it from https://nodejs.org/download/nightly. | ||
|
||
### Install nightly build for specific node version |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
### Install nightly build for specific node version | |
### Install the nightly build for a specific version |
docs/advanced-usage.md
Outdated
- run: npm test | ||
``` | ||
|
||
### Install nightly build for major node version |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
### Install nightly build for major node version | |
### Install the nightly build for a major version |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, just for a better flow, I would move this first so it goes major version -> specific version -> exact nightly
docs/advanced-usage.md
Outdated
- run: npm test | ||
``` | ||
|
||
### Install the exact nightly version |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
### Install the exact nightly version | |
### Install an exact nightly version |
docs/advanced-usage.md
Outdated
@@ -140,6 +174,8 @@ jobs: | |||
- run: npm test | |||
``` | |||
|
|||
**Note:** You should specify the exact version for rc: `16.0.0-rc.1`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
**Note:** You should specify the exact version for rc: `16.0.0-rc.1`. | |
**Note:** Unlike nightly versions, which support version range specifiers, you must specify the exact version for a release candidate: `16.0.0-rc.1`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/setup-node](https://togithub.com/actions/setup-node) | action | minor | `v3.5.1` -> `v3.6.0` | --- ### Release Notes <details> <summary>actions/setup-node</summary> ### [`v3.6.0`](https://togithub.com/actions/setup-node/releases/tag/v3.6.0): Add Support for Nightly, Canary and RC builds for Node.js [Compare Source](https://togithub.com/actions/setup-node/compare/v3.5.1...v3.6.0) In scope of this release we added support to download nightly, rc ([https://github.com/actions/setup-node/pull/611](https://togithub.com/actions/setup-node/pull/611)) and canary ([https://github.com/actions/setup-node/pull/619](https://togithub.com/actions/setup-node/pull/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://togithub.com/actions/setup-node#advanced-usage). Besides, we added the following changes as: - Updated minimatch: [https://github.com/actions/setup-node/pull/608](https://togithub.com/actions/setup-node/pull/608) - Fixed extra newline character in version output when reading from a file: [https://github.com/actions/setup-node/pull/625](https://togithub.com/actions/setup-node/pull/625) - Passed the token input through on GHES: [https://github.com/actions/setup-node/pull/595](https://togithub.com/actions/setup-node/pull/595) - Fixed issue with scoped registries are duplicated in npmrc: [https://github.com/actions/setup-node/pull/637](https://togithub.com/actions/setup-node/pull/637) </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 [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/JellyfishSDK/jellyfish). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC44MS4wIiwidXBkYXRlZEluVmVyIjoiMzQuODEuMCJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/setup-node](https://togithub.com/actions/setup-node) | action | minor | `v3.5.1` -> `v3.6.0` | --- ### Release Notes <details> <summary>actions/setup-node</summary> ### [`v3.6.0`](https://togithub.com/actions/setup-node/releases/tag/v3.6.0): Add Support for Nightly, Canary and RC builds for Node.js [Compare Source](https://togithub.com/actions/setup-node/compare/v3.5.1...v3.6.0) In scope of this release we added support to download nightly, rc ([https://github.com/actions/setup-node/pull/611](https://togithub.com/actions/setup-node/pull/611)) and canary ([https://github.com/actions/setup-node/pull/619](https://togithub.com/actions/setup-node/pull/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://togithub.com/actions/setup-node#advanced-usage). Besides, we added the following changes as: - Updated minimatch: [https://github.com/actions/setup-node/pull/608](https://togithub.com/actions/setup-node/pull/608) - Fixed extra newline character in version output when reading from a file: [https://github.com/actions/setup-node/pull/625](https://togithub.com/actions/setup-node/pull/625) - Passed the token input through on GHES: [https://github.com/actions/setup-node/pull/595](https://togithub.com/actions/setup-node/pull/595) - Fixed issue with scoped registries are duplicated in npmrc: [https://github.com/actions/setup-node/pull/637](https://togithub.com/actions/setup-node/pull/637) </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 [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/andipaetzold/react-firehooks). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC44MS4wIiwidXBkYXRlZEluVmVyIjoiMzQuODEuMCJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/setup-node](https://togithub.com/actions/setup-node) | action | minor | `v3.5.1` -> `v3.6.0` | --- ### Release Notes <details> <summary>actions/setup-node</summary> ### [`v3.6.0`](https://togithub.com/actions/setup-node/releases/tag/v3.6.0): Add Support for Nightly, Canary and RC builds for Node.js [Compare Source](https://togithub.com/actions/setup-node/compare/v3.5.1...v3.6.0) In scope of this release we added support to download nightly, rc ([https://github.com/actions/setup-node/pull/611](https://togithub.com/actions/setup-node/pull/611)) and canary ([https://github.com/actions/setup-node/pull/619](https://togithub.com/actions/setup-node/pull/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://togithub.com/actions/setup-node#advanced-usage). Besides, we added the following changes as: - Updated minimatch: [https://github.com/actions/setup-node/pull/608](https://togithub.com/actions/setup-node/pull/608) - Fixed extra newline character in version output when reading from a file: [https://github.com/actions/setup-node/pull/625](https://togithub.com/actions/setup-node/pull/625) - Passed the token input through on GHES: [https://github.com/actions/setup-node/pull/595](https://togithub.com/actions/setup-node/pull/595) - Fixed issue with scoped registries are duplicated in npmrc: [https://github.com/actions/setup-node/pull/637](https://togithub.com/actions/setup-node/pull/637) </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 [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/open-feature/schemas). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMC4yIiwidXBkYXRlZEluVmVyIjoiMzUuMTAuMiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/setup-node](https://togithub.com/actions/setup-node) | action | minor | `v3.5.1` -> `v3.6.0` | --- ### Release Notes <details> <summary>actions/setup-node</summary> ### [`v3.6.0`](https://togithub.com/actions/setup-node/releases/tag/v3.6.0): Add Support for Nightly, Canary and RC builds for Node.js [Compare Source](https://togithub.com/actions/setup-node/compare/v3.5.1...v3.6.0) In scope of this release we added support to download nightly, rc ([https://github.com/actions/setup-node/pull/611](https://togithub.com/actions/setup-node/pull/611)) and canary ([https://github.com/actions/setup-node/pull/619](https://togithub.com/actions/setup-node/pull/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://togithub.com/actions/setup-node#advanced-usage). Besides, we added the following changes as: - Updated minimatch: [https://github.com/actions/setup-node/pull/608](https://togithub.com/actions/setup-node/pull/608) - Fixed extra newline character in version output when reading from a file: [https://github.com/actions/setup-node/pull/625](https://togithub.com/actions/setup-node/pull/625) - Passed the token input through on GHES: [https://github.com/actions/setup-node/pull/595](https://togithub.com/actions/setup-node/pull/595) - Fixed issue with scoped registries are duplicated in npmrc: [https://github.com/actions/setup-node/pull/637](https://togithub.com/actions/setup-node/pull/637) </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 [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/BirthdayResearch/contented). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTAuMCIsInVwZGF0ZWRJblZlciI6IjM1LjExMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/setup-node](https://togithub.com/actions/setup-node) | action | minor | `v3.5.1` -> `v3.6.0` | --- ### Release Notes <details> <summary>actions/setup-node</summary> ### [`v3.6.0`](https://togithub.com/actions/setup-node/releases/tag/v3.6.0): Add Support for Nightly, Canary and RC builds for Node.js [Compare Source](https://togithub.com/actions/setup-node/compare/v3.5.1...v3.6.0) In scope of this release we added support to download nightly, rc ([https://github.com/actions/setup-node/pull/611](https://togithub.com/actions/setup-node/pull/611)) and canary ([https://github.com/actions/setup-node/pull/619](https://togithub.com/actions/setup-node/pull/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://togithub.com/actions/setup-node#advanced-usage). Besides, we added the following changes as: - Updated minimatch: [https://github.com/actions/setup-node/pull/608](https://togithub.com/actions/setup-node/pull/608) - Fixed extra newline character in version output when reading from a file: [https://github.com/actions/setup-node/pull/625](https://togithub.com/actions/setup-node/pull/625) - Passed the token input through on GHES: [https://github.com/actions/setup-node/pull/595](https://togithub.com/actions/setup-node/pull/595) - Fixed issue with scoped registries are duplicated in npmrc: [https://github.com/actions/setup-node/pull/637](https://togithub.com/actions/setup-node/pull/637) </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 [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/levaintech/sticky). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMzEuMCIsInVwZGF0ZWRJblZlciI6IjM1LjEzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Description:
In scope of this pull request we add support for nightly and rc Nodejs versions.
Related issue:
Check list: