Skip to content

Ignite Release Process

carlinisaacson edited this page Sep 2, 2016 · 1 revision

Steps

This process requires that you have an npm account with the correct permissions to publish releases. If you do not have this:

🎵 Stop! Can't touch this 🎵

but if you 🎵 doo doo doo doo 🎵:

It's hammer time!

1. Tagged release

  • Check for a tagged release. There should be a drafted release of master. All changes from any PR's since the last release should be recorded in the release notes.
  • Check to make sure all changes since the last release are in the release notes. If not, update them.
  • If there is no release, create one, record all changes since last release, and save as draft.

2. Create a test release

  • Test, test, test!!!

  • Run ./testRelease.sh <new_version_number> from ignite root

  • This script does several things:

    • Takes what is currently in git on master without changes
    • It creates a test branch (test_<version_number>)
    • ignites a new project using the test branch 🔥
    • Builds the project in iOS and Android
    • Verifies that everything is working
    • Cleans up after itself so that the test branch is gone and there are no changes made to master

🙏_: automatically bump version numbers when script completes_

3. Bump version numbers

  • Once the test release script gives a thumbs up (literally) the version numbers can be bumped
  • Bump generator version here
  • Bump CLI version here
  • Bump generator app locked ignite version here
  • Commit and push to master

NOTE: Generator and CLI versions must be in sync, or bad things might happen. Well, probably not, but just in case.

4. Publish GitHub release

  • Edit draft release and make sure it has the correct version tag as well as all changes since last release
  • Publish dat

5. Release generator

  • Run npm publish in ignite/generator

5. Release cli

  • Run npm publish in ignite/cli

6. Tagged release

  • Create a new tagged release of master and save it as a draft. Any new changes until the next release should be added to the release notes.

7. Sigh

  • You are done
  • You did it
  • You have arrived
  • You are a skilled metalworker

Clone this wiki locally