forked from adobe-type-tools/afdko
-
Notifications
You must be signed in to change notification settings - Fork 0
How to do afdko releases
Miguel Sousa edited this page Jun 20, 2018
·
2 revisions
All kinds of releases require tagging a commit.
The tags must follow the versioning scheme defined by PEP 440.
Every new tag must be an increment of the most recent tag.
- Tag the last commit of the
developbranch according to the pre-release tag requirements defined below - Push the tag to the remote origin
- The tag must have an Alpha or Beta pre-release segment
{a|b}N - Examples of sequential pre-release tags (assuming
2.7.0was the last tag):2.7.1a2.7.1a12.7.1a22.7.1b2.7.1b1
- Issuing the first release candidate version requires several steps:
- Close the Project for the current sprint
- Commit the changes to NEWS.md in the
developbranch (example commit)- DO NOT use
[skip ci]in the commit message
- DO NOT use
- Make a new branch named
release(fromdevelop) - Push the
releasebranch to the remote origin (i.e. to GitHub) - Tag the last commit of the
releasebranch according to the release candidate tag requirements defined below - Push the tag to the remote origin
-
Subsequent release candidate versions require different steps. If a significant problem was discovered in the most recent release candidate version, do the following:
- Commit the fixes to the
releasebranch - Tag the last commit of the
releasebranch (see requirements below) - Push the new tag to the remote origin
- Cherry-pick the new commits to the
developbranch
- Commit the fixes to the
- The tag must have a Release Candidate pre-release segment
{rc}N - Examples of sequential release candidate tags (assuming
2.7.1b1was the last tag):2.7.1rc2.7.1rc12.7.1rc2
- Wait until the last release candidate version is about one week old
- Issuing the final release version requires several steps:
- Update the date of the most recent version in NEWS.md
- Commit the NEWS.md change to the
releasebranch - Cherry-pick the commit to the
developbranch - Merge the
releasebranch into themasterbranch - Delete the
releasebranch - Tag the merge commit according to the final release tag requirements defined below
- Remove pre-release and release candidate tags from local and remote repositories
- Delete draft releases from GitHub
- Delete pre-release and release candidate releases from PyPI
- The tag must not have any pre-release segment
- Assuming
2.7.1rc2was the last tag, the final release tag must be2.7.1.