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: updated frontend-build & frontend-platform major versions #387

Merged
merged 3 commits into from
Apr 24, 2024

Conversation

BilalQamar95
Copy link
Contributor

@BilalQamar95 BilalQamar95 commented Apr 19, 2024

Description

  • Major version upgrades, Updated frontend-build to v14 & Updated frontend-platform to v8

Reference to respective MFEs with the build and platform major version upgrades to be released as minor versions instead of major

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 Apr 19, 2024
@BilalQamar95 BilalQamar95 changed the title feat: updated jest to v29 feat: updated frontend-build & frontend-platform major versions Apr 23, 2024
@BilalQamar95 BilalQamar95 marked this pull request as ready for review April 23, 2024 10:26
@@ -58,7 +58,7 @@
"react-test-renderer": "17.0.2"
},
"peerDependencies": {
"@edx/frontend-platform": "^7.0.0",
"@edx/frontend-platform": "^7.0.0 || ^8.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.

[nit/sanity check] Will there be consuming MFEs still installing on frontend-platform v7 once these packages are upgraded in the consuming MFEs? If not, I'm wondering if frontend-platform v7 could be dropped in favor of only supporting v8 (though, doing so would require these packages to be released as a breaking change otherwise)?

Copy link
Contributor Author

@BilalQamar95 BilalQamar95 Apr 24, 2024

Choose a reason for hiding this comment

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

Thank you touching on this. All MFEs will be moved to v8 once these packages are upgraded in the consuming MFEs. The initial proposal was indeed to transition all MFEs directly to frontend-platform v8, which would have necessitated a major version release due to breaking changes, which was opposed & there was a strong recommendation to maintain compatibility with frontend-platform v7 in order to avoid breaking change releases for the few MFEs having consumers. ([1], [2], [3]).

@abdullahwaheed has been a strong advocate of avoiding major version releases in this context & can elaborate on how the decision to prevent major version releases in this case, by maintaining frontend-platform v7 as a peer dependency, outweighs the benefits that might come from moving exclusively to v8 for a case where all MFEs are to be moved to v8 eventually.

As we continue with the implementation, as detailed in all related PRs, all MFEs will indeed be moved to frontend-platform v8 & frontend-build v14 as part of this coordinated upgrade process.

Copy link
Contributor

Choose a reason for hiding this comment

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

@adamstankiewicz these new changes can work effectively with platform v7, so dropping its support and releasing a major change is not necessary. We will drop this support in future when we have some actual breaking change in this repo

@abdullahwaheed abdullahwaheed merged commit e9da78e into master Apr 24, 2024
5 checks passed
@abdullahwaheed abdullahwaheed deleted the bilalqamar95/jest-v29-upgrade branch April 24, 2024 13:15
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.

3 participants