-
Notifications
You must be signed in to change notification settings - Fork 35
How to release a new version
Download the set of deployment from here and unzip it. Then place the folder deploy_scripts into the parent folder of the folder toolbox. That is, deploy_scripts and toolbox must be siblings folders.
We assume that there exists a file ~/.m2/settings.xml containing our github credentials, if not create/modify it as follows. Make sure that previous file is not readable by everybody, so run the command chmod 700 ~/.m2/settings.xml
<settings>
<servers>
<server>
<id>github</id>
<username>[your_github_username]</username>
<password>[your_github_password]</password>
</server>
</servers>
</settings>
In addition, if we aim to deploy our artifacts signed with the private key of the AMIDST project, we should modify the ~/.m2/settings.xml file by adding a new profile:
<settings>
<profiles>
<profile>
<id>gpg</id>
<properties>
<gpg.executable>gpg2</gpg.executable>
<gpg.passphrase>[passphrase]</gpg.passphrase>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>gpg</activeProfile>
</activeProfiles>
</settings>
Go to the develop branch and verify the following points:
- Update the README.md file. In most of the cases, you will only have to change the version number.
- Update the CHANGELOG.md file by adding an entry for the new version.
- Change the AMIDST version in every pom.xml file. For that, you can simply run the following script in the deploy_scripts folder: ./replaceVersion.sh [old_version] [new_version]. For example:
./replaceVersion.sh 0.6.0 0.6.1
- In the deploy_scripts/conf/ folder, make sure that there exists a blacklist file containing all the modules or folders that will not be included in the new release. For example, for version 0.6.0, such file is called modules_blacklist-0.6.0 at its content is:
extensions/cajamar
extensions/caepia2015
extensions/ida2015
extensions/ida2016
extensions/scai2015
extensions/ecai2016
extensions/uai2016
extensions/reviewMeeting2016
extensions/nips2016
extensions/parallelVMP
doc
Afterwards, commit and push all your changes. Your local branch must be up-to-date with the remote one.
The first script startNewRelease.sh checks your local and remote configuration. If everything is ok, it will proceed to create the new version branch and to remove the unnecessary modules. For starting the new release, go to the deploy_script folder and run:
$ ./startNewRelease.sh [version]
Once the script have