CONTRIBUTING#
Help Wanted#
tackling roadmap issues
improving testing
improving (self-hosted) documentation
improving the binder demo
improving continuous integration and developer experience
Prerequisites#
jupyterlab >=3,<4
nodejs >=12
doit >=0.32
Recommended: conda#
mamba env update --file .github/environment.yml
source activate ipydrawio
or use the demo environment in
.binder
Get to a working Lab#
doit
Start JupyterLab#
doit serve:lab
Start JupyterLite#
doit serve:demo
Prepare a Release#
doit dist
Do everything#
doit all
Updating drawio#
update the
version
inpackages/ipydrawio-webpack/package.json
update dependencies in other
package.json
pushd packages/ipydrawio-webpack/drawio
git fetch
git checkout v<the new version>
popd
doit dist
validate everything looks good!
Releasing#
[ ] start a release issue with a checklist (maybe like this one)
[ ] merge all outstanding PRs
[ ] ensure the versions have been bumped (check with
doit test:integrity
)[ ] ensure the CHANGELOG is up-to-date
[ ] move the new release to the top of the stack
[ ] validate on binder
[ ] validate on ReadTheDocs
[ ] wait for a successful build of
master
[ ] download the
dist
archive and unpack somewhere (maybe a freshdist
)[ ] create a new release through the GitHub UI
[ ] paste in the relevant CHANGELOG entries
[ ] upload the artifacts
[ ] actually upload to npm.com, pypi.org
cd dist twine upload ipydrawio* npm login npm publish deathbeds-ipydrawio-$VERSION.tgz npm publish deathbeds-ipydrawio-jupyter-templates-$VERSION.tgz npm publish deathbeds-ipydrawio-notebook-$VERSION.tgz npm publish deathbeds-ipydrawio-pdf-$VERSION.tgz npm publish deathbeds-ipydrawio-webpack-$OTHER_VERSION.tgz npm logout
[ ] postmortem
[ ] handle
conda-forge
feedstock tasks[ ] validate on binder via simplest-possible gists
[ ] activate the version on ReadTheDocs
[ ] bump to next development version
[ ] update release procedures
Copyright 2022 ipydrawio contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.