Skip to content
This repository has been archived by the owner on Mar 27, 2022. It is now read-only.

Release Process

Tim Morgan edited this page Apr 13, 2017 · 32 revisions

Release!

Here's how we tag and build a new release of OneBody:

  1. Update the VERSION file in the root of the repo with the new version number.

  2. Update the CHANGELOG.md file in the root of the repo with a broad overview of features and bug fixes, and (if applicable) any release-specific upgrade instructions. (I usually use git log previous..HEAD --oneline to see list of all changes.)

  3. Commit with the message "Release x.y.z" (where x.y.z is the version number).

  4. Tag the release:

    git tag x.y.z -m "Release x.y.z"
  5. Push to GitHub:

    git push
    git push --tags
  6. Point the "stable" tag to the latest tag:

    git tag -d stable
    git push origin :stable
    git tag stable
    git push --tags
  7. Update the release on GitHub with changes you put in CHANGELOG.md:

  8. Build Debian/Ubuntu package:

    ssh [email protected]
    ./build_onebody_nightly
    rsync -avz onebody/build/deb/out/ [email protected]:~/debs/
    ssh [email protected]
    reprepro -b /var/repositories/ubuntu/stable includedeb trusty ~/debs/ubuntu-14.04/*.deb
    reprepro -b /var/repositories/ubuntu/stable includedeb xenial ~/debs/ubuntu-16.04/*.deb
    reprepro -b /var/repositories/debian/stable includedeb jessie ~/debs/debian-8/*.deb
  9. Build the OVF:

    cd build
    rm -rf output-virtualbox-iso
    packer build -on-error=abort -only=virtualbox-iso packer.json
    cd output-virtualbox-iso
    zip onebody-x.y.z-1.zip onebody-disk001.vmdk onebody.ovf
    rsync -avzP --partial *.zip [email protected]:/var/www/statics/church.io/downloads/onebody/virtual-appliance/
    cd ..
  10. Build the AMI:

    AWS_ACCESS_KEY=your-access-key \
    AWS_SECRET_KEY=your-access-secret \
    packer build -only=amazon-ebs -var 'version=x.y.z' packer.json

    (Replace x.y.z with the current version number.)

    Log into the Amazon web console here and make both of the resulting AMIs "public".

    Copy the AMI identifiers and update the Amazon AMI wiki page.

  11. Update the latest version number on the following wiki pages:

  12. Announce on:

  13. Update VERSION file with next version + -pre, e.g.:

    x.y.z-pre
    

    ...and commit to master.