...
Code Block | ||
---|---|---|
| ||
RC_VERSION=1.11.02 |
Using the above variable, complete the below git
commands for each module being released. The modules to be released are shown in the VIVO modules release plan. A new tab may need to be added for this release. When the steps below are complete for a specific module, change the color to green, so that others know what's been done.
NOTE: The value of RC_VERSION
will vary for each release.
Code Block |
---|
git checkout <develop<master -or- maintenance-branch> git pull git push origin <develop<master -or- maintenance-branch>:rel-${RC_VERSION}-RC |
...
Code Block |
---|
#!/bin/bash # RC Script RC_VERSION=1.11.02 RC_NUM=1 git checkout develop git pull git push origin develop:rel-${RC_VERSION}-RC git checkout rel-${RC_VERSION}-RC git tag -a "rel-${RC_VERSION}-RC-${RC_NUM}" -m "rel-${RC_VERSION}-RC-${RC_NUM}" git push origin --tags # Created Branch and Tag Examples # (Branch) https://github.com/vivo-project/VIVO/tree/rel-1.11.02-RC # (Tag) https://github.com/vivo-project/VIVO/tree/rel-1.11.02-RC-1 # (Branch) https://github.com/vivo-project/Vitro/tree/rel-1.11.02-RC # (Tag) https://github.com/vivo-project/Vitro/tree/rel-1.11.02-RC-1 |
Some of the previous steps can be done directly into github interface as described in following tutorials:
...
No Format |
---|
ORG=vivo-project REPO=VIVO CURR=1.1011.01 NEXT=1.11.02-SNAPSHOT |
Github Release
Perform a clean checkout of the code from Github and prepare the release.
...
Code Block | ||||
---|---|---|---|---|
| ||||
#release configuration projectVersionPolicyId=default project.rel.org.vivoweb\:vivo-installer-home=1.11.01 project.dev.org.vivoweb\:vivo-home=1.11.12-SNAPSHOT project.dev.org.vivoweb\:vivo-webapp=1.11.12-SNAPSHOT pushChanges=false project.rel.org.vivoweb\:vivo-project=1.11.01 project.rel.org.vivoweb\:vivo-api=1.11.01 project.dev.org.vivoweb\:vivo-installer=1.11.12-SNAPSHOT remoteTagging=true scm.commentPrefix=[maven-release-plugin] project.dev.org.vivoweb\:vivo-installer-webapp=1.11.12-SNAPSHOT project.dev.org.vivoweb\:vivo-api=1.11.12-SNAPSHOT project.dev.org.vivoweb\:vivo-project=1.11.12-SNAPSHOT scm.url=scm\:git\:git@github.com\:vivo-project/VIVO.git scm.tagNameFormat=@{project.artifactId}-@{project.version} project.rel.org.vivoweb\:vivo-installer-webapp=1.11.01 project.rel.org.vivoweb\:vivo-home=1.11.01 scm.tag=vivo-1.11.01 project.rel.org.vivoweb\:vivo-webapp=1.11.01 project.dev.org.vivoweb\:vivo-installer-home=1.11.12-SNAPSHOT exec.snapshotReleasePluginAllowed=false project.rel.org.vivoweb\:vivo-installer=1.11.01 |
Code Block | ||||
---|---|---|---|---|
| ||||
#release configuration projectVersionPolicyId=default project.rel.org.vivoweb\:vitro-installer-home=1.11.01 project.rel.org.vivoweb\:checkstyle=1.11.01 project.dev.org.vivoweb\:vitro-home=1.11.12-SNAPSHOT project.dev.org.vivoweb\:vitro-webapp=1.11.12-SNAPSHOT pushChanges=false project.rel.org.vivoweb\:vitro-project=1.11.01 project.rel.org.vivoweb\:vitro-api=1.11.01 project.dev.org.vivoweb\:vitro-installer=1.11.12-SNAPSHOT remoteTagging=true scm.commentPrefix=[maven-release-plugin] project.dev.org.vivoweb\:vitro-installer-webapp=1.11.12-SNAPSHOT project.dev.org.vivoweb\:checkstyle=1.11.12-SNAPSHOT project.dev.org.vivoweb\:vitro-api=1.11.12-SNAPSHOT project.rel.org.vivoweb\:vitro-dependencies=1.11.01 project.dev.org.vivoweb\:vitro-project=1.11.12-SNAPSHOT scm.url=scm\:git\:git@github.com\:vivo-project/Vitro.git scm.tagNameFormat=@{project.artifactId}-@{project.version} project.rel.org.vivoweb\:vitro-installer-webapp=1.11.01 project.rel.org.vivoweb\:vitro-home=1.11.01 scm.tag=vitro-1.11.01 project.rel.org.vivoweb\:vitro-webapp=1.11.01 project.dev.org.vivoweb\:vitro-installer-home=1.11.12-SNAPSHOT project.dev.org.vivoweb\:vitro-dependencies=1.11.12-SNAPSHOT exec.snapshotReleasePluginAllowed=false project.rel.org.vivoweb\:vitro-installer=1.11.01 |
Currently the remaining projects can start with this step. While gpg.keyname isn't required if you have a global key setup it is recommended. You must skip checkstyle during a deploy.
...
Push Release Branch to develop and Maintenance
The release branch has changes made since code freeze. It also contains the update to the version numbers for future development.
...
Ensure that your commit history matches the release branch's commit history, except for the two additional commits.
- Changing from SNAPSHOT version to release version. Something like [maven-release-plugin] prepare release $REPO-$CURR
- Changing from release version to next development version. Something like [maven-release-plugin] prepare for next development iteration
If this appears correct, you can push your release branch on to the maintenance branch.
...
Code Block |
---|
#For vivo and vitro the main branch is develop #For vivo languages, vitro languages, jenatools, and orcid-api-client the main branch is master #Needs to be completed for each project in release git checkout developmaster git pull git checkout rel-${CURR}-RC git rebase -i developmaster git push origin developmaster or git checkout rel-${CURR}-RC git checkout developmaster git pull git merge rel-${CURR}-RC git push origin developmaster |
Clean-up RC Tags
Code Block |
---|
git tag #view list of tags to verify it exists git tag -d rel-${CURR}-RC-${RCNUM} git push origin :refs/tags/rel-${CURR}-RC-${RCNUM} #Examples #For vivo, vitro, vivo languages, vitro languages git tag #view list of tags to verify it exists git tag -d rel-1.1011.01-RC-1 git push origin :refs/tags/rel-1.1011.01-RC-1 #For jenatools git tag #view list of tags to verify it exists git tag -d rel-1.2.0-RC-1 git push origin :refs/tags/rel-1.2.0-RC-1 #For orcid-api-client git tag #view list of tags to verify git tag -d rel-0.6.3-RC-1 git push origin :refs/tags/rel-0.6.3-RC-1 |
...