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

feat: add Node 18 support #2206

Merged
merged 14 commits into from
Sep 12, 2022
Merged

feat: add Node 18 support #2206

merged 14 commits into from
Sep 12, 2022

Conversation

MrMartinR
Copy link
Contributor

@MrMartinR MrMartinR commented Jul 4, 2022

New Pull Request Checklist

Issue Description

Add Node18 from CI test

Related issue: #2205

Approach

n/a

TODOs before merging

  • Add tests
  • Add changes to documentation (guides, repository pages, in-code descriptions)
  • A changelog entry is created automatically using the pull request title (do not manually add a changelog entry)

@parse-github-assistant
Copy link

I will reformat the title to use the proper commit message syntax.

@parse-github-assistant parse-github-assistant bot changed the title feat: Remove CI Test Node12, Add Node18 feat: remove CI Test Node12, Add Node18 Jul 4, 2022
@parse-github-assistant
Copy link

parse-github-assistant bot commented Jul 4, 2022

Thanks for opening this pull request!

  • 🎉 We are excited about your hands-on contribution!

@MrMartinR
Copy link
Contributor Author

Hi @parse-community/dashboard, can you review this PR?

@MrMartinR MrMartinR changed the title feat: remove CI Test Node12, Add Node18 feat: add CI Test for Node18 Jul 4, 2022
.github/workflows/ci.yml Outdated Show resolved Hide resolved
@mtrezza mtrezza changed the title feat: add CI Test for Node18 feat: add Node 18 support Jul 4, 2022
@MrMartinR MrMartinR requested a review from mtrezza July 4, 2022 10:35
.github/workflows/ci.yml Outdated Show resolved Hide resolved
Copy link
Member

@mtrezza mtrezza left a comment

Choose a reason for hiding this comment

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

Can you also set the default Node version to 18?

env:
NODE_VERSION: 16.10.0

@MrMartinR
Copy link
Contributor Author

the default version to 18 or 16?

@MrMartinR MrMartinR requested a review from mtrezza July 4, 2022 10:43
Copy link
Member

@mtrezza mtrezza left a comment

Choose a reason for hiding this comment

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

change default version from 16 to 18 latest

@MrMartinR MrMartinR requested a review from mtrezza July 7, 2022 12:41
@MrMartinR
Copy link
Contributor Author

Changed "again?" default version to Node 18.4.0

@mtrezza
Copy link
Member

mtrezza commented Jul 7, 2022

Not sure what you mean by "again?"... but the changes look correct now. Let's see if the CI passes.

@mtrezza
Copy link
Member

mtrezza commented Jul 7, 2022

Node 18 fails with:

/bin/tar xz --warning=no-unknown-keyword -C /home/runner/work/_temp/f0db3245-e55c-4cee-8109-46364e0be05d -f /home/runner/work/_temp/cf3cd178-2a64-47da-9f4b-43abbd53dae6
/opt/hostedtoolcache/node/18.4.0/x64/bin/node --version
/opt/hostedtoolcache/node/18.4.0/x64/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /opt/hostedtoolcache/node/18.4.0/x64/bin/node)
Error: The process '/opt/hostedtoolcache/node/18.4.0/x64/bin/node' failed with exit code 1

This is due to toolchain-and-compiler-upgrades.

Could you change every ubuntu-18.04 to ubuntu-latest?

@MrMartinR
Copy link
Contributor Author

Not sure what you mean by "again?"... but the changes look correct now. Let's see if the CI passes.

I was confused because I changed that already in some commit before you asked, so I was not sure If you mean to keep the 16 or 18.. 🤔

@MrMartinR
Copy link
Contributor Author

Looks like the test passed with the ubuntu-latest

@mtrezza
Copy link
Member

mtrezza commented Jul 8, 2022

Yes pretty neat! Couod you also make the necessary changes in the Readme? There is a compatibility table.

@MrMartinR
Copy link
Contributor Author

Bumped to 18.5.0 and added the node 18 to the README.

Copy link
Member

@mtrezza mtrezza 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! Well done; did you actually try out the dashboard in a Node 18 environment? The challenge with Parse Dashboard is that it doesn't have unit tests, unlike Parse Server; so everything requires some manual testing before merging.

@MrMartinR
Copy link
Contributor Author

Looks good! Well done; did you actually try out the dashboard in a Node 18 environment? The challenge with Parse Dashboard is that it doesn't have unit tests, unlike Parse Server; so everything requires some manual testing before merging.

Hi, no, actually I haven't, I once was using nvm (node version manager) but I ended messing up my project, months ago I upgraded to node 18 but I had to come back to node 16, not sure when I will try again.
Also no idea about programming unit test 😅

Copy link
Member

@mtrezza mtrezza left a comment

Choose a reason for hiding this comment

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

Requires manually testing dashboard in Node 18, as there are no unit tests that can verify that dashboard runs in Node 18 env.

@MrMartinR
Copy link
Contributor Author

I upgraded to Node v18 in my local environment.

Node Sass does not yet support your current environment: OS X 64-bit with Unsupported runtime (108)
For more information on which environments are supported please see:
https://github.com/sass/node-sass/releases/tag/v7.0.0

Lots of errors trying to run parse-dashboard on Node v18
Looks like node-sass is deprecated and they recommend to move to Dart-sass? Not sure if they will include Node v18 support for Node Sass or not...

@mtrezza
Copy link
Member

mtrezza commented Jul 12, 2022

You'd have to do some research to figure out more. Others may face the same issue and there may be solutions out there that could guide you. It's also possible that this will be fixed until Node 18 enters active LTS.

@MrMartinR
Copy link
Contributor Author

Following this PR sass/node-sass#3257 I assume in the next release Node 18 will be supported, the other option will be replace node-sass for dart-sass

@mtrezza
Copy link
Member

mtrezza commented Sep 12, 2022

I tried it out in a Node 18 env and it worked without any issues.

Copy link
Member

@mtrezza mtrezza 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!

@mtrezza mtrezza merged commit bc7895a into parse-community:alpha Sep 12, 2022
parseplatformorg pushed a commit that referenced this pull request Sep 12, 2022
# [4.2.0-alpha.10](4.2.0-alpha.9...4.2.0-alpha.10) (2022-09-12)

### Features

* add Node 18 support ([#2206](#2206)) ([bc7895a](bc7895a))
@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 4.2.0-alpha.10

@parseplatformorg parseplatformorg added the state:released-alpha Released as alpha version label Sep 12, 2022
@mtrezza mtrezza linked an issue Sep 12, 2022 that may be closed by this pull request
3 tasks
@mtrezza mtrezza mentioned this pull request Sep 12, 2022
3 tasks
@MrMartinR MrMartinR deleted the CI-Node18 branch September 13, 2022 03:13
parseplatformorg pushed a commit that referenced this pull request Sep 27, 2022
# [4.2.0-beta.2](4.2.0-beta.1...4.2.0-beta.2) (2022-09-27)

### Bug Fixes

* column names in data browser menu not left-aligned ([#2263](#2263)) ([fc5673a](fc5673a))
* context menu in data browser is not scrollable ([#2271](#2271)) ([6c54bd8](6c54bd8))
* dashboard contains invalid html for top-level document ([#2254](#2254)) ([bbce857](bbce857))
* file upload dialog in data browser shows multiple times ([#2276](#2276)) ([3927340](3927340))
* login fails with error `req.session.regenerate is not a function` ([#2260](#2260)) ([1dc2b91](1dc2b91))
* unnecessary count operations in Data Browser ([#2250](#2250)) ([bfc1684](bfc1684))
* view relation dialog requires browser refresh when navigating ([#2275](#2275)) ([d60a8b7](d60a8b7))

### Features

* add column name to related records ([#2264](#2264)) ([cc82533](cc82533))
* add Node 18 support ([#2206](#2206)) ([bc7895a](bc7895a))
* add option to auto-sort columns alphabetically ([#2252](#2252)) ([2b7f20f](2b7f20f))
* apply filter in data browser by pressing "Enter" key ([#2256](#2256)) ([bc4f9eb](bc4f9eb))
* auto-submit one-time password (OTP) after entering ([#2257](#2257)) ([e528705](e528705))
* show skeleton as loading indicator in data browser while data is loading ([#2273](#2273)) ([059f616](059f616))
@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 4.2.0-beta.2

@parseplatformorg parseplatformorg added the state:released-beta Released as beta version label Sep 27, 2022
parseplatformorg pushed a commit that referenced this pull request Oct 15, 2022
# [4.2.0](4.1.4...4.2.0) (2022-10-15)

### Bug Fixes

* button text "Show all" in column menu is truncated ([#2208](#2208)) ([b89d044](b89d044))
* column names in data browser menu not left-aligned ([#2263](#2263)) ([fc5673a](fc5673a))
* context menu in data browser is not scrollable ([#2271](#2271)) ([6c54bd8](6c54bd8))
* dashboard contains invalid html for top-level document ([#2254](#2254)) ([bbce857](bbce857))
* file upload dialog in data browser shows multiple times ([#2276](#2276)) ([3927340](3927340))
* login fails with error `req.session.regenerate is not a function` ([#2195](#2195)) [skip release] ([31a2b78](31a2b78))
* login fails with error `req.session.regenerate is not a function` ([#2197](#2197)) [skip release] ([014d9c1](014d9c1))
* login fails with error `req.session.regenerate is not a function` ([#2260](#2260)) ([1dc2b91](1dc2b91))
* security upgrade terser from 5.10.0 to 5.14.2 ([#2222](#2222)) ([645cfdd](645cfdd))
* unnecessary count operations in Data Browser ([#2250](#2250)) ([bfc1684](bfc1684))
* view relation dialog requires browser refresh when navigating ([#2275](#2275)) ([d60a8b7](d60a8b7))

### Features

* add column name to related records ([#2264](#2264)) ([cc82533](cc82533))
* add Node 18 support ([#2206](#2206)) ([bc7895a](bc7895a))
* add option to auto-sort columns alphabetically ([#2252](#2252)) ([2b7f20f](2b7f20f))
* apply filter in data browser by pressing "Enter" key ([#2256](#2256)) ([bc4f9eb](bc4f9eb))
* auto-submit one-time password (OTP) after entering ([#2257](#2257)) ([e528705](e528705))
* improve button labels to be more concise in text ([#2207](#2207)) ([230fc14](230fc14))
* remove support and documentation links ([#2203](#2203)) ([35e4476](35e4476))
* show skeleton as loading indicator in data browser while data is loading ([#2273](#2273)) ([059f616](059f616))
@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 4.2.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
state:released Released as stable version state:released-alpha Released as alpha version state:released-beta Released as beta version
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Node 18 support
3 participants