Skip to content

ReleaseProcess

Dirk Rombauts edited this page Mar 9, 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. Create a pull request from the develop brnach to the master branch
    2. Wait for the continuous build to be green
    3. Merge the pull request
  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. Tweet using @PicklesDoc
Clone this wiki locally