Deploying a new version requires a new version number, named $VERSION in this
document.
- the release build will have version
$VERSION - the
gitrepository will have version${VERSION}-SNAPSHOT- note that this is not conventional, since typically
-SNAPSHOTis used for upcoming releases
- note that this is not conventional, since typically
- be on a machine from which you have permission to deploy (see
deploy-coatjava.sh'sscpcommands) git switch development && git pull- make sure you have no local changes (
git status) ./deploy-coatjava.sh -v $VERSIONgit push-> open PR -> review PR -> merge- make
gittag and release
Note
Should deploy-coatjava.sh fail midway, your git repository may no longer be in the recommended initial state; here's how to revert:
git switch developmentto switch back todevelopmentbranchlibexec/version-bump.sh $ORIGINAL_VERSIONand be sure to include the-SNAPSHOT; alternatively,git reset --hardgit branch -D version/$VERSIONto delete the created version-bump branch
Legend:
- magenta rectangle: manual step
- green hexagon: automated
flowchart TB
classDef manual fill:#f8f,color:black
classDef automatic fill:#8f8,color:black
subgraph deploy-coatjava.sh
deployScript[deploy-coatjava.sh -v $VERSION]:::manual
bump1{{bump version to $VERSION}}:::automatic
deployMaven{{deploy to Maven repo}}:::automatic
deployTarball{{deploy tarball to clasweb}}:::automatic
bump2{{bump version to $VERSION-SNAPSHOT}}:::automatic
gitCommit{{new git branch and commit}}:::automatic
end
gitPush[git push]:::manual
pullRequest[pull request and merge]:::manual
gitTag[git tag and release]:::manual
subgraph "Continuous Integration (CI)"
bump3{{bump version to $VERSION}}:::automatic
deployGit{{deploy git release tarball}}:::automatic
end
deployScript ==> bump1
bump1 ==> deployMaven
bump1 ==> deployTarball
bump1 ==> bump2 ==> gitCommit
gitCommit ==> gitPush ==> pullRequest ==> gitTag
gitTag ==> bump3 ==> deployGit