daml/release/RELEASE.md

49 lines
2.7 KiB
Markdown
Raw Normal View History

2019-04-04 12:55:22 +03:00
# Making a Release
1. Make a PR that bumps the version number in the `VERSION`
file and adds a new header and label for the new version in
`docs/source/support/release-notes.rst` (see previous releases as examples).
Move unreleased user-facing features to its own file (#1762) * Move unreleased user-facing features to its own file docs/source/support/release-notes.rst unfortunately represents a "global lock" when it comes to submitting contributions: if another contribution changed it while another was going through the CI/review process, the latter would have to go again through the CI build after resolving the conflict and merging the resulting commit. The contributors originally tried to address this problem by letting the system automatically performing this operation, but this failed because release notes were moved to the wrong section by mistake. This simple change would allow the contributors to let the system take care of merging on its own, because existing release notes will no longer be corrupted by the process. There is a caveat: the automatic merging could result in invalid RST (mostly because of missing newlines). This would push the task of ensuring the release notes are valid RST to the release. I would argue this can be done quite easily and that this is checked automatically when rendering RST to HTML, so it could be a nuisance during release but it would make the day-to-day contributions easier. * Address https://github.com/digital-asset/daml/pull/1762#issuecomment-503540993 * Address https://github.com/digital-asset/daml/pull/1762#pullrequestreview-251676158 * Address https://github.com/digital-asset/daml/pull/1762#discussion_r295279530 * Remove HEAD section from release-notes.rst * Address https://github.com/digital-asset/daml/pull/1762#pullrequestreview-251678791 * Address https://github.com/digital-asset/daml/pull/1762#issuecomment-503549896
2019-06-19 17:32:03 +03:00
Release notes should be cut and pasted under the new header from `unreleased.rst`.
Each change outlined in `unreleased.rst` is preceded by the section to which it belongs: create one entry per section and add all pertaining items (without the section tag) to the release notes.
It is important that the PR only changes `VERSION`, `release-notes.rst` and `unreleased.rst`.
1. "Squash and merge" the PR.
1. Once CI has passed for the corresponding master build, the release should be
available on bintray and GitHub, as well as properly tagged.
1. Activate the new version with `da use VERSION`. Note that it will
2019-04-04 12:55:22 +03:00
not be picked up by `da upgrade` at this point.
1. Run through the manual test plan described in https://docs.google.com/document/d/16amcy7bQodXSHjEmKhAUiaPf6O92gUbch1OyixDEvSM/edit?ts=5ca5be00.
The test plan currently still targets the old `da` assistant. We
will migrate the test plan fully to the new assistant soon but for
now, there is a shorter test plan for the new assistant that
you should run on Windows:
1. Download the installer from https://github.com/digital-asset/daml/releases
1. Close any running SDK instance in PowerShell (Navigator or Sandbox)
1. Remove any existing installation: `rm -r -Force $env:AppData\daml`
1. Run the installer.
1. Open a new Powershell.
2019-06-21 21:39:24 +03:00
1. Remove any existing quickstart directory : `rm -r quickstart`
1. Run `daml new quickstart` to create a new project.
1. Switch to the new project: `cd quickstart`
1. Run `daml start`.
1. Open your browser at `http://localhost:7500`, verify that you
can login as Alice and there is one template and one contract.
1. Kill `daml start` with Ctrl-C
1. Run `daml studio` and open `daml/Main.daml`.
1. Verify that the scenario result appears within 30 seconds.
1. Add `+` at the end of line 26 after `"Alice"` and verify that you get a red squiggly line.
1. If it passes, the release should be made public. This currently
consists of three steps:
2019-04-04 12:55:22 +03:00
1. Tag the release as `visible-external` on Bintray. This step can
only be done by someone with permissions to set tags on Bintray.
After this step the release will be picked up by `da
upgrade`. Note that this step requires special privileges on
Bintray. If you cannot change it yourself, ask in #team-daml.
2019-04-04 12:55:22 +03:00
1. Publish the draft release on GitHub by going to [the releases
page](https://github.com/digital-asset/daml/releases) and clicking the
Edit button for the relevant release.