mirror of https://github.com/pyodide/pyodide.git
2.8 KiB
2.8 KiB
(maintainer-information)=
Maintainer information
Making a release
For branch organization we use a variation of the Github
Flow with
the latest release branch named stable
(due to ReadTheDocs constraints).
(making-major-release)=
Making a major release
- Make a new PR and for all occurrences of
https://cdn.jsdelivr.net/pyodide/dev/full/
in./docs/
replacedev
with the release versionvX.Y.Z
(note the presence of the leadingv
). This also applies todocs/conf.py
- Set version in
src/py/pyodide/__init__.py
- Make sure the change log is up to date.
- Indicate the release date in the change log.
- Generate the list of contributors for the release at the end of the
changelog entry with,
wheregit shortlog -s LAST_TAG.. | cut -f2- | sort --ignore-case | tr '\n' ';' | sed 's/;/, /g;s/, $//' | fold -s
LAST_TAG
is the tag for the last release. Merge the PR.
- Assuming the upstream
stable
branch exists, rename it to a release branch for the previous major version. For instance if last release was,0.20.0
, the corresponding release branch would be0.20.X
,git fetch upstream git checkout stable git checkout -b 0.20.X git push upstream 0.20.X git branch -D stable # delete locally
- Create a tag
X.Y.Z
(without leadingv
) and push it to upstream,
Create a newgit tag X.Y.Z git push upstream X.Y.Z
stable
branch from this tag,
Wait for the CI to pass and create the release on GitHub.git checkout -b stable git push upstream stable --force
- Build the pre-built Docker image locally and push,
wheredocker build -t pyodide/pyodide:X.Y.Z -f Dockerfile-prebuilt --build-arg VERSION=BB . docker push
BB
is the last version of thepyodide-env
Docker image. - Revert Step 1. and increment the version in
src/py/pyodide/__init__.py
to the next version specified by Semantic Versioning.
Making a minor release
For a minor release, commits need to be added to the stable
branch, ideally via a PR.
This can be done with either,
- git cherry picking individual commits,
git checkout stable git pull git checkout -b backport-branch git cherry-pick <commit-hash>
- or with interactive rebase,
and indicate which commits to take fromgit fetch upstream git checkout stable git pull git checkout -b backport-branch git rebase -i upstream/main
main
in the UI.
Then follow steps 2, 3, and 6 from {ref}making-major-release
.
Fixing documentation for a released version
Cherry pick the corresponding documentation commits to the stable
branch. Use
[skip ci]
in the commit message.