Skip to content
This repository has been archived by the owner on Jul 6, 2020. It is now read-only.

Release Procedure

Nikita Kitaev edited this page Feb 19, 2017 · 1 revision

How releases work

Releases are built using travis from tagged commits.

Note that dawn and runtime follow a separate release schedule. If both are being released simultaneously, two tags need to be made. This is to allow one project to make a release even when the other project's code is in a non-releasable state.

Dawn binaries and runtime update tarballs are then uploaded to and hosted on GitHub.

Links to the most up-to-date release binaries will then be hosted on the PiE Forums. This is because the GitHub will occasionally host beta releases that are not yet ready to be deployed to teams.

Public release checklist

  1. Make sure all code is merged into master
  2. Tag the release commit with dawn/VERSION_NUMBER or runtime/VERSION_NUMBER (command to use: git tag TAG_NAME)
  3. Push the tag (e.g. git push origin TAG_NAME)
  4. Travis will build the code and upload binaries here. To follow the build progress and debug issues, look at the travis dashboard.
  5. Once binaries are uploaded successfully, press the "Edit" button next to the release name and fill in a description of what's new in this release.
  6. On the PiE Forums, update the top post to point to link to the latest release. Additionally, make a new post with both the latest release links and the associated changelog.

How to make testing releases

Testing releases can be used as part of internal development, or even to easily kick off a build if your current computer does not support running all of the compilers needed.

Unfortunately, we don't currently have a hosting provider that can host binaries for every single PR submitted to our repo. Moreover, full Dawn builds take a long time and we don't necessarily want to do them on every pull request.

Therefore, testing releases are also hosted on GitHub. This means that it is important to clearly differentiate them from our official releases. Please follow the following checklist for testing releases:

  1. For testing releases, code needs to be committed, but need not be merged into master.
  2. Tag the release commit with test/dawn/VERSION_NUMBER or test/runtime/VERSION_NUMBER (command to use: git tag TAG_NAME)
  3. Push the tag (e.g. git push origin TAG_NAME)
  4. Travis will build the code and upload binaries here. To follow the build progress and debug issues, look at the travis dashboard.
  5. Once binaries are uploaded successfully, press the "Edit" button next to the release name. Be sure to check the "This is a pre-release" checkbox. Then fill in a description of the purpose for the testing release (e.g. if it for your personal use, label it as "For testing by only"