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

Update all Released MFEs and Libraries to use Node 20 #267

Closed
43 tasks done
Tracked by #363
feanil opened this issue Feb 8, 2024 · 2 comments
Closed
43 tasks done
Tracked by #363

Update all Released MFEs and Libraries to use Node 20 #267

feanil opened this issue Feb 8, 2024 · 2 comments
Assignees
Labels
epic Large unit of work, consisting of multiple tasks maintenance Routine upkeep necessary for the health of the platform

Comments

@feanil
Copy link

feanil commented Feb 8, 2024

Description

See the parent issue for the motivation behind this upgrade: openedx/platform-roadmap#363.

General tasks

Upgrade process

For each MFE, one should do the following, in order:

  1. Create and merge a PR that does nothing else but add Node 20 to the test matrix in a non-blocking manner (using continue-on-error).

    Example PR:

    test: Add Node 20 to CI matrix frontend-template-application#743

  2. If failures are detected on Node 20, create a second PR that addresses those failures while making sure Node 18 still works correctly. Get it merged.

  3. Now create a second (or third) PR that:

    • Updates .nvmrc to use Node 20

    • Regenerates package-lock.json from scratch using it (hint: nvm use && rm package-lock.json && npm install.)

    • Migrates the lockfile check workflow to v3.

    • Removes continue-on-error so Node 20 tests must pass

    • Fixes any issues in the codebase that arise from the above. At this point both NPM versions are supported, but Node 20 is used for development.

    Example PR:

    build: Upgrade to Node 20 frontend-template-application#744

  4. Create/update DEPR ticket for Node 18

  5. Create a final PR that removes Node 18 from the test matrix. If the MFE is officially supported by Tutor, wait to merge it until the DEPR is complete and tutor-mfe is flipped over to use Node 20 for its builds (see the tracking issue).

    Example PR:

    test: Remove support for Node 18 frontend-template-application#745

The following task list will track the above for individual MFEs:

Tutor-supported MFEs

  1. arbrandes
  2. 3 of 3
    maintenance
    BilalQamar95
  3. 3 of 3
    maintenance
    BilalQamar95
  4. 3 of 3
    maintenance
  5. 3 of 3
    maintenance
    BilalQamar95
  6. 5 of 5
    maintenance
    BilalQamar95
  7. 2 of 2
    maintenance
    brian-smith-tcril
  8. 3 of 3
    maintenance
    BilalQamar95
  9. 3 of 3
    maintenance
    BilalQamar95
  10. 3 of 3
    maintenance needs maintainer attention
    BilalQamar95
  11. 5 of 5
    maintenance waiting for eng review
    BilalQamar95
  12. 3 of 3
    maintenance
  13. 3 of 3
    maintenance
    brian-smith-tcril
  14. 3 of 3
    maintenance
    BilalQamar95
Copy link

Thanks for your submission, @openedx/open-edx-project-managers will review shortly.

@brian-smith-tcril brian-smith-tcril changed the title Update all Released MFEs to use Node 20 Update all Released MFEs and Libraries to use Node 20 Sep 19, 2024
@brian-smith-tcril
Copy link

I am closing this as all issues in the openedx GitHub org associated with this have been completed. I know that there are still some issues/PRs in the edx GitHub org that link to this, but those aren't part of what this issue is intended to track.

@github-project-automation github-project-automation bot moved this from In Progress to Done in Axim Engineering Tasks Nov 4, 2024
@github-project-automation github-project-automation bot moved this from In progress to Closed in Frontend Working Group Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic Large unit of work, consisting of multiple tasks maintenance Routine upkeep necessary for the health of the platform
Projects
Status: Done
Status: Closed
Development

No branches or pull requests

3 participants