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

chore: upgrade node to lts/hydrogen #1365

Merged
merged 24 commits into from
Oct 16, 2023
Merged

Conversation

daniellacosse
Copy link
Contributor

@daniellacosse daniellacosse commented Jun 23, 2023

this is so we don't have to keep switching versions of node while developing/releasing outline

prereqs:

@daniellacosse daniellacosse marked this pull request as ready for review October 9, 2023 20:22
@daniellacosse daniellacosse requested review from fortuna and a team as code owners October 9, 2023 20:22
Copy link
Collaborator

@fortuna fortuna left a comment

Choose a reason for hiding this comment

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

The Docker image needs to be updated to use a newer node image:

It's a bit of a pain to have to update everything at once. Is it possible to update each component separately? We may actually have situations where we don't have control of the node version (e.g. Electron, Wails), so we may need to have that capability.

@@ -19,6 +19,8 @@ rm -rf "${TEST_DIR}"

# Use commonjs modules, jasmine runs in node.
tsc -p "${ROOT_DIR}/src/sentry_webhook" --outDir "${TEST_DIR}" --module commonjs

export NODE_OPTIONS=--openssl-legacy-provider
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why is this needed? It's a very intrusive change, touching all our entrypoints.

Copy link
Collaborator

Choose a reason for hiding this comment

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

It looks like that forces a very old OpenSSL version, which does not even support TLS1.3
What are the offending dependencies?
Can we make sure we use more recent OpenSSL? (Looks like v3?)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I believe it's webpack and jasmine.

We'd have to upgrade webpack to version 5 and then I guess use jasmine through karma (we don't call jasmine directly in the client)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually, it's probably just webpack, cuz karma calls webpack

Copy link
Contributor Author

@daniellacosse daniellacosse Oct 11, 2023

Choose a reason for hiding this comment

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

webpack upgrade: #1422

@@ -15,18 +15,21 @@
"outline-shadowsocksconfig": "github:Jigsaw-Code/outline-shadowsocksconfig#v0.2.0",
"prom-client": "^11.1.3",
"randomstring": "^1.1.5",
"restify": "^8.5.1",
Copy link
Collaborator

Choose a reason for hiding this comment

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

This most likely needs a code change. The shadowbox is currently broken.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It seems to be passing the integration tests in isolation: #1423

What did you anticipate breaking?

@daniellacosse
Copy link
Contributor Author

daniellacosse commented Oct 9, 2023

Wails

Thankfully, Wails doesn't use node in-app. The only way to independently update node versions is to have multiple independent workspaces, each with their own .nvmrc

that said, I can probably break this into multiple prs?

@daniellacosse
Copy link
Contributor Author

daniellacosse commented Oct 10, 2023

@daniellacosse daniellacosse marked this pull request as draft October 11, 2023 10:48
@daniellacosse daniellacosse changed the title chore: upgrade to lts/hydrogen chore: upgrade node to lts/hydrogen Oct 11, 2023
@daniellacosse daniellacosse marked this pull request as ready for review October 12, 2023 18:29
Copy link
Collaborator

@fortuna fortuna left a comment

Choose a reason for hiding this comment

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

We need to update the README as well:

- [Node](https://nodejs.org/en/download/) LTS (`lts/gallium`, version `16.13.0`)

@daniellacosse daniellacosse merged commit e157315 into master Oct 16, 2023
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants