Skip to content
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

Conversation

dmitry-shibanov
Copy link
Contributor

Description:
In scope of this pull request we add support for nightly and rc Nodejs versions.

Related issue:

Check list:

  • Mark if documentation changes are required.
  • Mark if tests were added or updated to cover the changes.

@dmitry-shibanov dmitry-shibanov requested a review from a team October 26, 2022 12:22
@@ -0,0 +1,35 @@
[
Copy link
Contributor

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(
Copy link
Contributor

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.

- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.0.0-nightly' # or 16-nightly
Copy link
Contributor

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).

Copy link
Contributor Author

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.

fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
node-version: [17-nightly, 18-nightly, 19-nightly]
Copy link
Contributor

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?

Copy link
Contributor Author

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.

Copy link
Contributor

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'
Copy link
Contributor

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.
Copy link
Contributor

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?

- 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
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
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

@@ -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
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
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

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
Copy link
Contributor

@brcrista brcrista Nov 9, 2022

Choose a reason for hiding this comment

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

Suggested change
### Install nightly build for specific node version
### Install the nightly build for a specific version

- run: npm test
```

### Install nightly build for major node version
Copy link
Contributor

@brcrista brcrista Nov 9, 2022

Choose a reason for hiding this comment

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

Suggested change
### Install nightly build for major node version
### Install the nightly build for a major version

Copy link
Contributor

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

- run: npm test
```

### Install the exact nightly version
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
### Install the exact nightly version
### Install an exact nightly version

@@ -140,6 +174,8 @@ jobs:
- run: npm test
```

**Note:** You should specify the exact version for rc: `16.0.0-rc.1`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
**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`.

Copy link
Contributor

@brcrista brcrista left a comment

Choose a reason for hiding this comment

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

Looks good! :shipit:

@dmitry-shibanov dmitry-shibanov merged commit 2349c84 into actions:main Nov 17, 2022
fuxingloh pushed a commit to BirthdayResearch/jellyfishsdk that referenced this pull request Jan 6, 2023
[![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
([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://togithub.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

</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>
andipaetzold pushed a commit to andipaetzold/react-firehooks that referenced this pull request Feb 10, 2023
[![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
([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://togithub.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

</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>
beeme1mr pushed a commit to open-feature/flagd-schemas that referenced this pull request Mar 17, 2023
[![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
([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://togithub.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

</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>
fuxingloh pushed a commit to fuxingloh/contented that referenced this pull request Jun 10, 2023
[![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
([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://togithub.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

</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>
fuxingloh pushed a commit to levaintech/sticky that referenced this pull request Jun 19, 2023
[![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
([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://togithub.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

</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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants