-
-
Notifications
You must be signed in to change notification settings - Fork 106
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
Upgrade extension to JupyterLab 4 #145
Conversation
Use npm_builder hook to build labextension. Use nodejs version hook to manage extension's version
Migrate deprecated tslint.json to eslintrc.js. Update target in tsconfig to es2018 Lint ts src code and make changes for the src to be compatible for Jlab 4
Thanks for submitting your first pull request! You are awesome! 🤗 |
Thanks @mahendrapaipuri for working on this! Looks like CI was not triggered, not sure why but this also seems to be the case of the recent commits on |
@jtpio You are welcome. If we look into CI workflows, there are no "actual" workflows perse. The workflow is to create a link to binder on source branch of the PR and add it to comments. Edit: binder config files are up to date as well |
Ah ok thanks! Then maybe we should add the base workflows from the extension template? https://github.com/jupyterlab/extension-template |
Fair enough. Makes sense. Do you think we can add workflows it in the current PR or create a new one? |
Here would be fine, hopefully the workflows will be triggered properly. |
Add stylelint config and npm script. Add lint:check script that checks eslint, prettier and stylelint Lint css files according to stylelint config
@jtpio Added basic CI workflows based on what we did for topbar extensions. For release management, we will integrate it with jupyter releaser as well? |
Yes. Normally the extension template is already configured to be compatible with the releaser. |
Part of supporting the Jupyter Releaser would be to add the |
@jtpio So, I was checking the So, the idea is that you will manage the releases via a forked |
I think it corresponds to this one: https://github.com/jupyter-server/jupyter_releaser/blob/main/.github/actions/check-release/action.yml
The recommended and most convenient way now is to add the workflows to the repo directly to avoid having to maintain the fork. This is used in the JupyterLab repo for example (and they are also included in the extension template): |
The ones that are taken from jupyter_releaser repo
.github/workflows/check-release.yml
Outdated
|
||
- name: Install Dependencies | ||
run: | | ||
pip install -e . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Normally we shouldn't need this as it might add side-effects, and this step does not exist during the actual release process.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok. Maybe we should remove it from the extension-template repo as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah if it's there then yes 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it is in the template. I have not changed anything from the template except replacing Jinja2 vars.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just opened jupyterlab/extension-template#38
Seems like check release workflow failed due to missing CHANGELOG.md file. From the docs of jupyter_releaser, it seems like the presence of Do you think |
We can add an empty |
It is needed for check release workflow to generate a draft changelog. The workflow expects the file to exist.
We could also bootstrap a changelog using |
Add missing markers in the changelog file
Remove deprecated tslint related packages
All CI tests are passing now. Good to go for the review @jtpio |
package.json
Outdated
@@ -1,6 +1,6 @@ | |||
{ | |||
"name": "@jupyterlab/github", | |||
"version": "3.0.1", | |||
"version": "4.0.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we revert the version back to 3.0.1
here for now?
When we will be making the release, we can specify 4.0.0
to the releaser. Otherwise if the version is already 4.0.0
, the releaser will not allow setting the same version (4.0.0
).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
True that!
jupyter-releaser will take care of version bumping
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!!
Waiting for #147 to be able to do the release. |
Following major changes have been made:
hatch
build systemasync
related stuff in handler4.0.0
tslint.json
intoeslintrc.js
using tslint-to-eslint-configCloses #144