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

Use default Node version in CI #2067

Closed
wants to merge 1 commit into from
Closed

Conversation

nickserv
Copy link
Contributor

Deprecated Node versions are used in CI, potentially causing security and reliability issues. Instead, it's better to use GitHub's default Node version, which also doesn't require additional downloads or installations.

Deprecated Node versions are used in CI, potentially causing security and reliability issues. Instead, it's better to use GitHub's default Node version, which also doesn't require additional downloads or installations.
@codesandbox-ci
Copy link

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit cc690dc:

Sandbox Source
Vanilla Configuration
Vanilla Typescript Configuration

@nickserv
Copy link
Contributor Author

nickserv commented Sep 13, 2023

The size action is warning because of preactjs/compressed-size-action#93 but it seems like it's safe to ignore as it already runs on Node 16:

The following actions uses node12 which is deprecated and will be forced to run on node16: preactjs/compressed-size-action@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/

@timdorr
Copy link
Member

timdorr commented Sep 13, 2023

This isn't a hard opinion, but I'm on the negative side of this. This introduces less determinism into our builds and test suite. That has the potential for breakage and extra workload for us as maintainers.

There's nothing necessarily wrong with using older Node versions, since this isn't deployed software and the practical effects on end-users are minimal. The most likely actual breakage is with the versions of tools that we use and the supported Node versions of our various Actions. In that context, I think it's more important to keep builds and tests consistent and as close to deterministic as possible.

@nickserv
Copy link
Contributor Author

I believe it's more deterministic, as at least it's using the same default Node version in each workflow. Also Mark has already agreed to my idea, but I'm curious what he thinks about this specifically.

@timdorr
Copy link
Member

timdorr commented Sep 20, 2023

That's consistency, not determinism. The build environment will change over time. A run one week under Node 20 might be different or break the next week under Node 22. It's the same reason we use a lockfile for our dependencies.

I'm all for consistency. I have issue with nondeterminism.

@timdorr timdorr closed this Mar 10, 2024
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