Every admin and every contributor added to release team would be able to release a new version of jupyterlab extensions developed in nebari with approximately 8 clicks.
Design Proposal
There are two ways to use jupyter-releaser:
from a GitHub action in the target repository (documentation)
from a GitHub action in the fork of the releaser repository (documentation)
I propose to use the (1) approach as this is better for collaboration and needs setting up only once.
There are some workflow assumptions in jupyter-releaser and configuration requirements:
jupyter-releaser can publish to PyPI and npm signing the artifacts and for PyPI also uses the trusted publishers mechanism; it also allows to lock down the release environment (e.g. by requiring review from another admin or adding a time delay); this requires creation of a GitHub App on the organization and setting up relevant secrets.
jupyter-releaser can auto-generate neat changelog entries; for that each PR needs to be labelled with a set of pre-defined labels:
"bug" (for a bug-fix)
"enhancement" (improvement to existing functionality)
"feature" (new feature)
"maintenance"
"documentation"
The following repositories would be using the jupyter-releaser workflow:
Setup a custom automation, for example with dispatch on publishing a release on GitHub
Best practices
The labels are in conflict with the currently used labels in nebari-dev; we can investigate configure it in jupyter-releaser to support the labels available in nebari-dev.
User impact
None
Unresolved questions
I will need help setting up the GitHub App and ideally access to a vault where I could put secrets to set it all up.
Title
Setup jupyter-releaser for jupyterlab extensions
Summary
User benefit
Every admin and every contributor added to release team would be able to release a new version of jupyterlab extensions developed in nebari with approximately 8 clicks.
Design Proposal
There are two ways to use jupyter-releaser:
I propose to use the (1) approach as this is better for collaboration and needs setting up only once.
There are some workflow assumptions in jupyter-releaser and configuration requirements:
The following repositories would be using the jupyter-releaser workflow:
Alternatives or approaches considered (if any)
Best practices
The labels are in conflict with the currently used labels in nebari-dev; we can investigate configure it in jupyter-releaser to support the labels available in nebari-dev.
User impact
None
Unresolved questions
I will need help setting up the GitHub App and ideally access to a vault where I could put secrets to set it all up.