* 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
3.1 KiB
Making a Release
-
Make a PR that bumps the version number in the
VERSION
file and adds a new header and label for the new version indocs/source/support/release-notes.rst
(see previous releases as examples). Release notes should be cut and pasted under the new header fromunreleased.rst
. Each change outlined inunreleased.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 changesVERSION
,release-notes.rst
andunreleased.rst
. -
"Squash and merge" the PR.
-
Once CI has passed for the corresponding master build, the release should be available on bintray and GitHub, as well as properly tagged.
-
Activate the new version with
da use VERSION
. Note that it will not be picked up byda upgrade
at this point. -
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:- Download the installer from https://github.com/digital-asset/daml/releases
- Close any running SDK instance in PowerShell (Navigator or Sandbox)
- Remove any existing installation:
rm -r -Force $env:AppData\daml
- Run the installer.
- Open a new Powershell.
- Remove any existing quickstart directory :
rm -r quickstart
- Run
daml new quickstart
to create a new project. - Switch to the new project:
cd quickstart
- Run
daml start
. - Open your browser at
http://localhost:7500
, verify that you can login as Alice and there is one template and one contract. - Kill
daml start
with Ctrl-C - Run
daml studio
and opendaml/Main.daml
. - Verify that the scenario result appears within 30 seconds.
- Add
+
at the end of line 26 after"Alice"
and verify that you get a red squiggly line.
-
If it passes, the release should be made public. This currently consists of three steps:
-
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 byda upgrade
. Note that this step requires special privileges on Bintray. If you cannot change it yourself, ask in #team-daml. -
Trigger the CircleCI jobs to create the Docker images. To do so, go to https://circleci.com/gh/DACH-NY/workflows/damlc-docker/tree/master and click "rerun" on "master / Main Variant" and on "master / CircleCI Variant". Once the jobs have passed, you should see two new images on https://hub.docker.com/r/digitalasset/daml-sdk/tags.
-
Publish the draft release on GitHub by going to the releases page and clicking the Edit button for the relevant release.
-