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

Workflow to update JupyterLab dependencies automatically #7281

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

itsmevichu
Copy link
Contributor

@itsmevichu itsmevichu commented Feb 27, 2024

Issue- #7271

Description:
This workflow can be used to update all the jupyterlab dependecies to the latest release. This can also be manually triggered, which takes the JupyterLab version as an input.

Things to re-visit:

  • Github secrets, user, email - to create branch and raise PR.
  • Executing "yarn install" post dependency updates results in a substantial amount of modifications, with over 15,000 additions and 15,000 deletions. - Done
  • Scheduling time for cron job.

The created PR looks like - Sample pull-request

Feel free to adapt the workflow based on your requirements.

Copy link
Contributor

Binder 👈 Launch a Binder on branch itsmevichu/notebook/workflow-update-jupyterlab-dependencies

@jtpio
Copy link
Member

jtpio commented Feb 27, 2024

Thanks @itsmevichu for looking into this!

@jtpio
Copy link
Member

jtpio commented Feb 27, 2024

Executing "yarn install" post dependency updates results in a substantial amount of modifications, with over 15,000 additions and 15,000 deletions.

Maybe it's because it's using the default yarn (version 1), while the repo here uses yarn 3 via jlpm. So we would probably need to install jupyterlab and use jlpm.

@jtpio
Copy link
Member

jtpio commented Mar 8, 2024

Thanks @itsmevichu.

Looks like this needs a lint pass.

@jtpio jtpio added this to the 7.1.x milestone Mar 8, 2024
@itsmevichu
Copy link
Contributor Author

@jtpio The lint check is failing because of the coverage for the scripts. Is it possible for us to exclude the "scripts" folder from coverage checks?

@itsmevichu
Copy link
Contributor Author

itsmevichu commented Mar 8, 2024

@jtpio I am fetching the latest versions of the lab dependencies from the below URL - https://raw.githubusercontent.com/jupyterlab/jupyterlab/v4.1.4/jupyterlab/staging/package.json.

The package "@jupyterlab/testutils" is not present in the above package.json. As a result, only that specific package won't get updated by this workflow.

@jtpio
Copy link
Member

jtpio commented Mar 11, 2024

@jtpio The lint check is failing because of the coverage for the scripts. Is it possible for us to exclude the "scripts" folder from coverage checks?

Yes I think so. An alternative could be to write the scripts in TypeScript and put them alongside other scripts here: https://github.com/jupyter/notebook/tree/main/buildutils/src

The package "@jupyterlab/testutils" is not present in the above package.json. As a result, only that specific package won't get updated by this workflow.

Right it's fine, we only need to update the packages used here in the notebook repo.

@itsmevichu
Copy link
Contributor Author

@jtpio I have converted the scripts to typescript and included them in the buildutils.

Pending tasks:

  1. To refer the appropriate secrets.
    GITHUB_USER: ${{ secrets.G_USER }}
    GITHUB_TOKEN: ${{ secrets.G_TOKEN }}
  2. Cron job timings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants