Skip to content

Ensure that the default workflow tests the source extension installation #142

@krassowski

Description

@krassowski

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:

- 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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions