A new release begins by updating the mystmd dependency to the latest version. Once that change has been merged into main, the Jupyter Releaser workflows prepare and publish the release automatically. Finally, a bot detects the new PyPI release and opens a pull request to update the conda-forge recipe. The sections below walk you through each step of the process.
Before you begin¶
If this is your first time making a release, please follow these setup instructions. Otherwise, you can skip directly to _1.
Make sure you have:
Software: Node.js (which includes
npm) installed.Repository access:
A local clone of the
jupyter-bookrepository.Write access to the repository, including permission to run the release workflows on GitHub.
Then prepare your local repository:
Switch to the
mainbranch and make sure it is up to date (sync the fork!).Create a new branch for the release (for example,
bump-myst-cli-<version>; you can find the latest version here).
Updating mystmd dependency¶
Jupyter Book ships the MyST document engine through the
myst-cliNode dependency inpackage.json.
To use the latestmystmdrelease, update themyst-cliversion inpackage-lock.json:$ npm update myst-cliThis will change several entries in the
package-lock.jsonfile, because themyst-clipackage has its own dependencies. This is to be expected!Note: Double check that any changes in the
mystmdpackage don’t require a change here! (usually this is not the case)
Make a pull request and merge¶
Make a pull request with the new
package-lock.jsonfile (add the labeldependenciesandmaintenance)Merge the pull request
Automated releases with the Jupyter Releaser¶
Go to Step 1: Prep Release workflow in GitHub Actions.
Click
Run Workflow->Run Workflowwith default values.
Go to the Releases page
When
Step 1completes, you’ll see a new Draft release with the changelog.If you don’t see it yet, refresh the page once the workflow from
Step 1completes.If it looks good, proceed to the next step!
Go to the Step 2: Publish Release workflow page
Click
Run Workflow->Run Workflowwith default values.This will publish the release.
Publishing to conda-forge¶
Your job is done! A bot should pick up the new version publish to PyPI, and open a new PR on the feedstock repository automatically.