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: upgraded to node v18, added .nvmrc and updated workflows #306

Merged
merged 7 commits into from
May 9, 2023

Conversation

BilalQamar95
Copy link
Contributor

@BilalQamar95 BilalQamar95 commented Mar 10, 2023

Ticket

Upgrade Node Js from 16 to 18

Description

  • Added support for node v18, updated .nvmrc and workflows.

Merge checklist:

  • Evaluate how your changes will impact existing consumers (e.g., frontend-app-learner-portal-enterprise, frontend-app-admin-portal, and frontend-app-enterprise-public-catalog). Will consumers safely be able to upgrade to this change without any breaking changes?
  • Ensure your commit message follows the semantic-release conventional commit message format. If your changes include a breaking change, ensure your commit message is explicitly marked as a BREAKING CHANGE so the NPM package is released as such.
  • Once CI is passing, verify the package versions that Lerna will increment to in the Github Action CI workflow logs.
    • Note: This may be found in the "Preview Updated Versions (dry run)" step in the Github Action CI workflow logs.

Post merge:

  • Verify Lerna created a release commit (e.g., chore(release): publish) that incremented versions in relevant package.json and CHANGELOG files, and created Git tags for those versions.
  • Run the Publish from package.json Github Action workflow to publish these new package versions to NPM.
    • This may be triggered by clicking the "Run workflow" option for the master branch.
  • Verify the new package versions were published to NPM (i.e., npm view <package_name> versions --json).
    • Note: There may be a slight delay between when the workflow finished and when NPM reports the package version as being published. If it doesn't appear right away in the above command, try again in a few minutes.

@BilalQamar95 BilalQamar95 self-assigned this Mar 10, 2023
@codecov
Copy link

codecov bot commented Mar 10, 2023

Codecov Report

Merging #306 (5ad0ddb) into master (5fe9d3e) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #306   +/-   ##
=======================================
  Coverage   77.62%   77.62%           
=======================================
  Files          34       34           
  Lines         648      648           
  Branches      162      162           
=======================================
  Hits          503      503           
  Misses        132      132           
  Partials       13       13           

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5fe9d3e...5ad0ddb. Read the comment docs.

@BilalQamar95 BilalQamar95 marked this pull request as ready for review March 31, 2023 11:30
Copy link
Member

@adamstankiewicz adamstankiewicz left a comment

Choose a reason for hiding this comment

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

Left some clarifying questions about the changes, notably about the removal of @edx/frontend-platform from the peerDependencies.

@@ -60,7 +60,6 @@
"react-test-renderer": "16.14.0"
},
"peerDependencies": {
"@edx/frontend-platform": "^1.9.6 || ^2.0.0",
Copy link
Member

Choose a reason for hiding this comment

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

[clarification] Why are we removing this peer dependency? @edx/frontend-platform is used by the catalog-search package and is up to the MFE (consumer) to install, not this package. This is why @edx/frontend-platform is a devDependency, not a dependency.

It should denote the full range of versions of @edx/frontend-platform that catalog-search is compatible with. If one of these existing versions is removed from the existing peer dependency list, this package needs to be released as a breaking change.

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, this package is expected to be released as a breaking change

@@ -11,6 +11,7 @@ import { SearchField } from '@edx/paragon';
import debounce from 'lodash.debounce';
import { connectSearchBox } from 'react-instantsearch-dom';

// eslint-disable-next-line import/no-extraneous-dependencies
Copy link
Member

Choose a reason for hiding this comment

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

This can likely be removed once @edx/frontend-platform is added back as a peer dependency.

@@ -38,7 +38,8 @@
"sideEffects": false,
"devDependencies": {
"@edx/browserslist-config": "1.1.0",
"@edx/frontend-build": "12.3.0",
"@edx/frontend-build": "12.7.0",
"@edx/frontend-platform": "4.0.1",
Copy link
Member

Choose a reason for hiding this comment

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

[clarification] Why is @edx/frontend-platform installed in hotjar when hotjar doesn't use it? Keep in mind this repo is a monorepo and each package within the monorepo has a unique set of dependencies.

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, that was my bad as these were updated through a script

packages/logistration/package.json Show resolved Hide resolved
@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import { useParams } from 'react-router-dom';
// eslint-disable-next-line import/no-extraneous-dependencies
Copy link
Member

Choose a reason for hiding this comment

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

This will likely go away once @edx/frontend-platform is added back as a peer dependency.

packages/utils/package.json Show resolved Hide resolved
@@ -1,3 +1,4 @@
// eslint-disable-next-line import/no-extraneous-dependencies
Copy link
Member

Choose a reason for hiding this comment

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

This will likely go away once @edx/frontend-platform is added back as a peer dependency.

@@ -1,4 +1,5 @@
import { useRef, useEffect, useState } from 'react';
// eslint-disable-next-line import/no-extraneous-dependencies
Copy link
Member

Choose a reason for hiding this comment

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

This will likely go away once @edx/frontend-platform is added back as a peer dependency.

@adamstankiewicz
Copy link
Member

@BilalQamar95 Also, keep in mind... we still have not straightened out the Lerna release/publish config for this repository since Axim (FKA tCRIL) required the openedx/cla status check on commits to master so this PR is blocked until the failing release workflow is fixed, unfortunately.

@OmarIthawi
Copy link
Member

OmarIthawi commented May 5, 2023

Hi all, is there anyway we could fix the CLA bot issue and get this merged? It's blocking some of the work on FC-0012 project which is sparked by the Translation Infrastructure update OEP-58.

Please let me or @brian-smith-tcril know if there's anything we can do to unblock this PR.

@abdullahwaheed
Copy link
Contributor

@adamstankiewicz could please review it again and merge it

@MaxFrank13
Copy link
Member

Hello all! This would help to fix a GoCD pipeline failure happening in frontend-app-profile, which we are planning to release a new feature to this week. Do we know what the status of this work is? Happy to help in any way!

cc: @hurtstotouchfire

Copy link
Member

@adamstankiewicz adamstankiewicz left a comment

Choose a reason for hiding this comment

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

LGTM, assuming the updated packages are released as a breaking change, i.e. new major verison.

@macdiesel macdiesel merged commit 0508783 into master May 9, 2023
@macdiesel macdiesel deleted the bilalqamar95/node-v18-upgrade branch May 9, 2023 19:13
@OmarIthawi
Copy link
Member

Thanks all!! This is very helpful!

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.

6 participants