-
-
Notifications
You must be signed in to change notification settings - Fork 86
Description
I learned over at https://github.com/krassowski/jupyterlab-lsp/issues/518 that extension authors should not only test the installation of federated extension, but the source version too and do it in a clean environment (without the dev dependencies installed). I think that it is important to have this as a step in CI. I think that the default workflow does not do that:
extension-cookiecutter-ts/.github/workflows/main.yml
Lines 54 to 66 in a161a92
| - name: Create pure frontend extension | |
| run: | | |
| cookiecutter . --no-input | |
| cd myextension | |
| jlpm install && jlpm run eslint:check | |
| pip install -e . | |
| jupyter labextension list 2>&1 | grep -ie "myextension.*OK" | |
| python -m jupyterlab.browser_check | |
| jlpm run install:extension | |
| jupyter labextension build . | |
| jupyter labextension uninstall myextension | |
| pip uninstall -y myextension jupyterlab |
(jlpm run install:extension is an alias for jupyter labextension develop --overwrite .); even if it does (I may be misunderstanding how the cookicutter influences these steps), it would do so in an environment that is tainted with the dev dependencies. Having a clean smoke test, separated out from the build step as we implemented here, using separate jobs and artifact sharing action might be the best practice for preventing issues like this.
Should such an approach be included in the default workflow?