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

test(ci): Node.js 22 in CI #2231

Merged
merged 1 commit into from
Apr 21, 2024
Merged

test(ci): Node.js 22 in CI #2231

merged 1 commit into from
Apr 21, 2024

Conversation

kriskowal
Copy link
Member

@kriskowal kriskowal commented Apr 19, 2024

refs: #2230

Description

This change adds latest to the CI node setup action so we can see upcoming breaking changes to our platform. The corresponding test results will not be required for merge.

Testing canary did not pan out. You can get 22-v8-canary out of actions/setup-node, and you can add yarn install --ignore-engines, but yarn will still die with error if any dependency specifies engines since the canary versions do not match other version ranges, even broad ones like >= 16. This may be worth revisiting with newer versions of yarn or whatever succeeds it.

Security Considerations

This increases our visibility into breaking changes on the Node.js platform.

Scaling Considerations

This may prolong CI runs by a multiplicative factor if CI workers are contended.

Documentation Considerations

None.

Testing Considerations

Increases visibility into our future.

Compatibility Considerations

None.

Upgrade Considerations

None.

  • [ ] Includes *BREAKING*: in the commit message with migration instructions for any breaking change.
  • [ ] Updates NEWS.md for user-facing changes.

@kriskowal kriskowal force-pushed the kriskowal-ci-canary-latest branch 2 times, most recently from 0d1f5a1 to 6239d56 Compare April 19, 2024 22:48
@erights
Copy link
Contributor

erights commented Apr 19, 2024

The CI failures for ubuntu-latest look like the ones fixed by #2229, which is what's supposed to happen! Great!

@kriskowal kriskowal force-pushed the kriskowal-ci-canary-latest branch 4 times, most recently from 76b10d5 to 0f9aee7 Compare April 19, 2024 23:16
@kriskowal kriskowal changed the title test(ci): Node.js latest and canary in CI test(ci): Node.js 22 in CI Apr 19, 2024
@kriskowal kriskowal requested a review from erights April 19, 2024 23:22
Copy link
Contributor

@erights erights left a comment

Choose a reason for hiding this comment

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

LGTM thanks!

erights added a commit that referenced this pull request Apr 21, 2024
erights added a commit that referenced this pull request Apr 21, 2024
@kriskowal kriskowal merged commit a77a1cd into master Apr 21, 2024
18 of 20 checks passed
@kriskowal kriskowal deleted the kriskowal-ci-canary-latest branch April 21, 2024 04:05
erights added a commit that referenced this pull request Apr 22, 2024
closes: #2198 
refs: #2230 #2200
https://chromium-review.googlesource.com/c/v8/v8/+/4459251 #2229 #2231


## Description

Alternative to #2229 that just hacks `harden` to directly repair a
problematic error own stack accessor property, replacing it with a data
property.

### Security Considerations

Both before and after this PR, `passStyleOf` will reject errors with the
v8 problematic error own stack accessor property, preventing the
unsafety at stake here. However, this would mean that much existing code
that used to be correct will break when run on a v8 with this problem.

### Scaling Considerations

Avoids any extra overhead on platforms without this problem, including
all platforms other than v8.

### Documentation Considerations

probably none. This PR essentially avoids the need to document the v8
problem that it masks.

### Testing Considerations

Only needed to repair one test to use `harden` rather than `freeze`, in
a case where `harden` was more natural anyway.

### Compatibility Considerations

This PR enables more errors to pass that check without further changes
to user code. #2229 had similar goals, but would still require more
changes to user code than this PR. This is demonstrated by all the test
code in #2229 that needed to be fixed that does not need to be fixed in
this PR.

### Upgrade Considerations

none

- ~[ ] Includes `*BREAKING*:` in the commit message with migration
instructions for any breaking change.~
- ~[ ] Updates `NEWS.md` for user-facing changes.~
@erights erights mentioned this pull request May 6, 2024
erights added a commit that referenced this pull request Jun 17, 2024
<!-- < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < ☺
v                               ✰  Thanks for creating a PR! ✰
☺ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >  -->

> Most PRs should close a specific Issue. All PRs should at least
reference one or more Issues. Edit and/or delete the following lines as
appropriate (note: you don't need both `refs` and `closes` for the same
one):

Closes: #2314 
Refs: #2231
b11beba

## Description

Now that nvm recognizes Node 22, we should probably redo the change from
#2231 undone by
b11beba
.

### Security Considerations

Whether our code works on Node 22 is much more relevant, including for
security, than whether it works on Node 21. Indeed, until 22 could be
used we were using Node 21 only for early warning about Node 22.

### Scaling Considerations

none
### Documentation Considerations

none
### Testing Considerations

the point. Now that Node 22 is out, we should test on it.
### Compatibility Considerations

Hopefully none
### Upgrade Considerations

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

2 participants