Skip to content

Latest commit

 

History

History
73 lines (65 loc) · 2.82 KB

RELEASE_PROCEDURE.md

File metadata and controls

73 lines (65 loc) · 2.82 KB

Release Procedure

This text assumes that the version number for a release is X.Y.Z.

  1. Make new internal JClouds release if needed and update the version.jclouds property in pom.xml
  2. Make sure CHANGELOG.md is up to date. Cross-check with GitHub Issues for given milestone
  3. If needed: git commit -m "add missing changelog entries"
  4. Reorder the entries in CHANGELOG.md from most important to least Up to this point, entries are typically added chronologically This is not the best order for release
  5. Update the heading of the latest changelog section. It should look like X.Y.Z (YYYY-MM-DD) instead of X.Y.Z (not yet released).
  6. Update version in the pom.xml
    mvn versions:set -DgenerateBackupPoms=false -DnewVersion=X.Y.Z
  7. git commit -a -m "version X.Y.Z"
  8. Your workspace should now be pristine. Check with git status
  9. Run all the tests if possible (see below)
  10. Build
    mvn clean install
  11. Deploy
    mvn source:jar deploy -DskipTests -DperformRelease=true
  12. git tag sunstone-X.Y.Z"
  13. Close the relevant GitHub Milestone. Optionally create a new Milestone
  14. Set a new -SNAPSHOT version in pom.xml and corresponding heading to the top of CHANGELOG.md. Its text should be: X.Y+1.0 (not yet released).
    mvn versions:set -DgenerateBackupPoms=false -DnewVersion=X.Y+1.0-SNAPSHOT
  15. git commit -a -m "next is X.Y+1.0"
  16. Upgrade the version in the dependant project (testsuites, quickstarts, ...) if possible
  17. Send a release announcement with information about migration to new version

Run the tests

EC2_ACCESS_KEY=...
EC2_SECRET_KEY=...
EC2_PRIVATE_KEY_FILE=${HOME}/.ssh/ec2.privatekey

OS_ENDPOINT=http://openstack-test.my-company.example:5000/v2.0
OS_PRIVATE_KEY_FILE=${HOME}/.ssh/openstack.privatekey
OS_USERNAME=tenant:tenant
OS_PASSWORD=...
OS_IMAGE=rhel-7.2-server-x86_64-cloud-released

AZURE_SUBSCRIPTION_ID=...
AZURE_PRIVATE_KEY_FILE=${HOME}/azure.pfx
AZURE_PRIVATE_KEY_PASSWORD=...
AZURE_STORAGE=...


mvn clean install -fae \
  -Dec2.accessKeyID=$EC2_ACCESS_KEY \
  -Dec2.secretAccessKey=$EC2_SECRET_KEY \
  -Dec2.keyPair=$USER \
  -Dec2.ssh.privateKeyFile=$EC2_PRIVATE_KEY_FILE \
  -Dazure.subscriptionId=$AZURE_SUBSCRIPTION_ID \
  -Dazure.privateKeyFile=$AZURE_PRIVATE_KEY_FILE \
  -Dazure.privateKeyPassword=$AZURE_PRIVATE_KEY_PASSWORD \
  -Dazure.image=b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_3-LTS-amd64-server-20160114.5-en-us-30GB \
  -Dazure.storage=$AZURE_STORAGE \
  -Dazure.ssh.user=jboss \
  -Dazure.ssh.password=very.123-complicated \
  -Dopenstack.endpoint=$OS_ENDPOINT \
  "-Dopenstack.username=$OS_USERNAME" \
  "-Dopenstack.password=$OS_PASSWORD" \
  "-Dopenstack.image=$OS_IMAGE" \
  "-Dopenstack.image.id=$OS_IMAGE_ID" \
  -Dopenstack.ssh.user=cloud-user \
  -Dopenstack.ssh.privateKeyFile=$OS_PRIVATE_KEY_FILE  \
  -Dopenstack.keypair=cloudsts