Skip to content

Release Process

E. Lynette Rayle edited this page May 10, 2022 · 1 revision

update the version and commit to dev

  1. create a branch (e.g. release/v3.0.0) from the dev branch, where v3.0.0 is the actual version being released
  2. update lib/version.rb to set the new version (e.g. VERSION = "v3.0.0".freeze)
  3. update CHANGELOG.md to add a section at the top for the new release and a simple list of major changes
  4. commit changes and push
  5. create a PR with dev branch as the base
  6. after tests complete, merge PR into dev branch

confirm integration deploy is successful

The merge into the dev branch should trigger an auto-deploy of dev to the integration machine. Once it completes...

  1. confirm integration site loads without error
  2. confirm Cornell Exhibits version in the footer matches the version of the new release
  3. confirm integration site functions as expected

commit dev to main

  1. create a new PR from the dev branch with main branch as the base
  2. after tests complete, merge into main branch

confirm staging deploy is successful

The merge into the main branch should trigger an auto-deploy of main to the staging machine. Once it completes...

  1. confirm staging site loads without error
  2. confirm Cornell Exhibits version in the footer matches the version of the new release
  3. confirm staging site functions as expected

release in GitHub

Examples:

  1. navigate to releases
  2. click button: Draft a new release
  • click selection box: Choose a tag
    • create tag with new version number (e.g. v3.0.0)
  • set release title to same label used for the tag (e.g. v3.0.0)
  • add documentation with sections...
    • Overview - 1 to 3 lines about the purpose of the release
    • Details - extended description (rarely needed)
    • Required Steps - document any special steps required for the update to work
    • User Notes - document any changes users should be aware of, especially if they impact exhibit construction
    • Bug Fixes - list any changes that are considered bug fixes separately
    • Change Log - minimally, the list of major changes from the CHANGELOG (always include this information)
  • click button: Publish release

deploy to production

Manually deploy to production in Jenkins.