-
Notifications
You must be signed in to change notification settings - Fork 9
release checklist
- create a milestone on GitHub
- create a project for the milestone on GitHub
- create issue(s) on GitHub and assign them to the appropriate milestone and project
- create a branch for work on an issue, branch name might start with the issue number
- push the branch to GitHub
- create a pull request (PR) for the branch on GitHub and assign it to the appropriate milestone and project
- review and revise the PR
TODO:
create_release_notes --head main OLD_MILESTONE THIS_MILESTONE GH_TOKEN 2>&1 | tee /tmp/notes.md
-
Finish all issues & PRs or move them to other milestones (& projects).
-
Update the
docs/source/_static/switcher.json
file for the new version and commit/push to GitHub. -
Edit
.github/scripts/define_versions.sh
so that new version will be added and commit/push to GitHub. -
Edit/update the
CHANGES.rst
document for the new version and commit/push to GitHub. -
Iterate with release candidates until the process runs smoothly with no errors
- Create a release candidate tag (start from
rc1
) and commit/push to GitHub. - In the PyPI build action (GitHub Actions) logs, note the SHA256 for the
.tar.gz
file.
The SHA256 will be used in therecipe/meta.yml
file below. - Begin the conda-forge release process (if not already started) in private fork of https://github.com/conda-forge/apstools-feedstock
- make a new branch for the new release
- edit
recipe/meta.yaml
file- change the version on line 2
- edit the sha256 on line 2 with the value from the build of the
.tar.gz
image for PyPI
- update
conda-smithy
package:conda update -c conda-forge conda-smithy
- run
conda smithy rerender
- push the new branch to the private fork
- make the PR to conda-forge
- complete the check boxes on the new conda-forge feedstock PR
- wait for CI to run in the feedstock
- if errors, revise
meta.yml
and commit/push
- Create a release candidate tag (start from
- Tag with new release number and a release candidate tag (start from
rc1
). - push to GitHub
- Get the SHA256 code for the PyPI build and update
meta.yaml
(also update the version) - commit the feedstock branch
- wait for CI to run in the feedstock
-
Wait for CI (GitHub Actions) to finish and confirm no problems.
-
Edit
CHANGES.rst
with the new release data and commit/push to GitHub. -
Wait for CI (GitHub Actions) to finish and confirm no problems.
-
Create the final release tag and push to GitHub
-
Go to the apstools tags page: https://github.com/BCDA-APS/apstools/tags
-
Select the new tag for this release
-
Select the button
Create release from tag
-
Release name same as tag name, same as new version.
-
Start the release text with the following (use the correct version number, wiki page will be created below)
- [History of changes](/CHANGES.rst) - [Release Notes](https://github.com/BCDA-APS/apstools/wiki/release-notes-VERSION_HERE) ----
-
Also push the
Generate release notes
button (GitHub adds its own release notes to the release text). -
Create the new release.
-
Build release notes locally for the apstools wiki
Such as for new milestone 1.6.11 (from milestone 1.6.10):
conda activate murky create_release_notes --head main 1.6.10 1.6.11 $GITHUB_API_TOKEN | tee /tmp/notes.md
-
Edit the wiki page (https://github.com/BCDA-APS/apstools/wiki/Release-Notes) for the new notes.
- Copy paste the top row in the table, edit for new version.
- save the changes
-
Go to the new page and copy content from
/tmp/notes.md
file. Edit as necessary. -
Visit GitHub Actions workflow to publish the docs: https://github.com/BCDA-APS/apstools/actions/workflows/pages.yml
-
Find and click the
Run workflow
dropdown button. -
Check the
Deploy documentation
box, then click greenRun workflow
button -
Go to the open PR on conda-forge and merge it once the CI completes.