Skip to content

ReleaseProcess

Dirk Rombauts edited this page Nov 6, 2017 · 32 revisions

Release Process

We denote versions with x.y.z where x is the major version, y the minor version and z the revision number

  1. Create a branch release-x.y.z
  2. Update CHANGELOG.md to include the new release
    1. Release Number
    2. Date
    3. New Feature(s) if any
    4. Bug(s) Fixed if any
  3. Check the version number in build.bat
  4. Open a command line and run "build.bat". This will do the following:
    1. build the code
    2. run unit tests
    3. zip the runners
    4. create nuget and chocolatey packages
    5. Unzip the files in the deploy folder by running "unzip x.y.z"
    6. Test the runners
      1. testRunnerCmd.cmd x.y.z
      2. testRunnerMsBuild.cmd x.y.z
      3. testRunnerPowerShell x.y.z
  5. Run DeployArtifacts.cmd x.y.z - this will
    1. Run "DeployOutput.cmd x.y.z" - this will
      1. Generate outputs with new version (this is already done by the "test the runners" step)
      2. commit the changes to the repository
    2. Push the nuget packages to nuget gallery by running "DeployToNuget x.y.z"
    3. Upload the chocolatey packages to chocolatey by running "DeployToChocolatey x.y.z"
  6. Push the release branch to GitHub
  7. Merge to the develop branch
    1. Create a pull request from the release branch to the develop branch
    2. Wait for the continuous build to be green
    3. Merge the pull request
  8. Merge to the master branch
    1. Pull the development branch to your local machine
    2. Pull the master branch to your local machine and check it out
    3. Merge development into master using git merge develop --squash --strategy-option theirs
    4. Commit the changes with a comment like "Version x.y.z"
    5. Push master to the remote and wait for the build to finish
  9. Create a release on GitHub
    1. called vx.y.z
    2. with release notes
    3. tag it with 'vx.y.z' on branch master
    4. Upload file "$/deploy/pickles-RUNNER-x.y.z.zip" for each RUNNER to the release
  10. Remove ready-to-be-released label from each issue/pr that is released, and add a "released in version x.y.z" comment.
  11. Tweet using @PicklesDoc
Clone this wiki locally