Steps detailing how to publish a new release after the development on the
develop
branch is completed. We follow the git-flow branching
model (also described here).
# Checkout from develop branch
git checkout -b <branch>
# Push and track feature branch
git push --set-upstream origin <branch>
# Alias
git newbr <branch>
# Switch to develop
git co develop
# Merge into develop
git merge --no-ff <branch>
# Push changes
git push origin develop
# Delete remote branch (optional)
git push origin --delete <branch>
# Delete local branch (optional)
git branch -d <branch>
# Alias
git mergebr <branch>
-
Create a new
conda
environment from scratch with the latest versions of all packages. Download thedevelop
version and run in this new environment to see that everything works as expected. THIS IS IMPORTANT -
Save the version of the required packages for later.
-
Create
release
branch locallygit co -b release-<version> develop
Optional Update
.first_run
file if it needs to be modified. Remove it from--skip-worktree
so that it will be tracked. Make any necessary changes and commit.# Track again git update-index --no-skip-worktree packages/.first_run # Make changes and commit. ac --> alias for 'add + commit' git ac 'update first_run file'
-
Add & commit the changes made since latest release to
CHANGELOG.md
file. Remember to link the issues with markdown.git ac 'update changelog'
-
Add & commit version number
<version>
to_version.py
file. This is the last commit in the branch before the final release, check carefully.git ac 'Bumped version number to <version>'
-
If some last minute change is necessary, do it now.
-
Merge
release
branch intomaster
and push.git co master git merge --no-ff release-<version> git push
-
Tag this new release
vx.x.x
and push new tag.git tag vx.x.x git push --tags
-
Merge
release
branch intodevelop
, and delete.git co develop git merge --no-ff release-<version> git push git branch -d release-<version>
-
Add
dev
to the version number in_version.py
file. This is the first commit in the newdevelop
branch.git acp 'mark branch as develop'
Optional Ignore
.first_run
file again.git update-index --skip-worktree packages/.first_run
Link draft release with new tag in Github and publish (https://github.com/asteca/asteca/releases).
New version is now fully released.
-
Add new published version to
index.html
file in: -
Push above changes made to the site.
git acp 'release vx.x.x'
-
Add new version to
conf.py
file in docs. -
Make any necessary changes/additions to the docs.
-
Push above changes made to the docs.
git acp 'release vx.x.x'