Skip to content

Commit

Permalink
Update RELEASE.md (#3119)
Browse files Browse the repository at this point in the history
Make it clear in RELEASE.md that release notes might not need
incrementing. This message was lost in
7206268

<small>By submitting this pull request, I confirm that my contribution
is made under the terms of the [MIT
license](https://github.com/dafny-lang/dafny/blob/master/LICENSE.txt).</small>
  • Loading branch information
keyboardDrummer authored Nov 28, 2022
1 parent 10ce903 commit 29f7e3a
Showing 1 changed file with 15 additions and 11 deletions.
26 changes: 15 additions & 11 deletions docs/dev/RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,55 +2,59 @@

## Making a new Github release

0. Ensure that you are in a repository that:
1. Ensure that you are in a repository that:
* is clean and up-to-date with no uncommitted changes,
* was cloned with SSH so that you can push to it, and
* has the `master` branch checked out.

1. Select a version number `$VER` (e.g., "3.0.0" or "3.0.0-alpha"), then
run `Scripts/prepare_release.py $VER prepare` from the root of the
1. Select a version number `$VER` (e.g., "3.0.0" or "3.0.0-alpha").
The `major`.`minor`.`patch` numbers may already have been
incremented since the last release, so they do not necessarily need
to be updated. However, you may want to increment them further
depending the types of changes that are in the release.
1. Run `Scripts/prepare_release.py $VER prepare` from the root of the
repository. The script will check that the repository is in a good
state, create and check out a new release branch, update
`Source/Directory.Build.props` and `RELEASE_NOTES.md`, prepare a release commit,
and push it.

2. Kick off the deep test suite by navigating to
1. Kick off the deep test suite by navigating to
<https://github.com/dafny-lang/dafny/actions/workflows/deep-tests.yml>,
clicking the "Run workflow" dropdown, selecting the newly created branch, and
clicking the "Run workflow" button. The automation for releasing below will
check for a run of this workflow on the exact commit to release. (TODO:
Run this automatically as part of the prepare-release script.)

3. Once the the tests complete, run `Scripts/prepare_release.py $VER
1. Once the the tests complete, run `Scripts/prepare_release.py $VER
release` from the root of the repository. The script will tag the
current commit and push it. (TODO: Merge with the two steps above.) A
GitHub action will automatically run in reaction to the tag being
pushed, which will build the artifacts and reference manual and then
create a draft GitHub release. You can find and watch the progress of
this workflow at <https://github.com/dafny-lang/dafny/actions>.

4. Once the action completes, you should find the draft release at
1. Once the action completes, you should find the draft release at
<https://github.com/dafny-lang/dafny/releases>. Edit the release body to add in
the release notes from `RELEASE_NOTES.md`. If this is not a pre-release,
check the box to create a new discussion based on the release.

5. Push the "Publish" button. This will trigger yet another workflow
1. Push the "Publish" button. This will trigger yet another workflow
that will download the published artifacts and run a smoke test
on multiple platforms. Again you can watch for this workflow at
<https://github.com/dafny-lang/dafny/actions>.

6. Create a pull request to merge the newly created branch into `master` (the
1. Create a pull request to merge the newly created branch into `master` (the
script will give you a link to do so). Get it approved and merged.

7. Clone <https://github.com/dafny-lang/ide-vscode> and run `publish_process.js`
1. Clone <https://github.com/dafny-lang/ide-vscode> and run `publish_process.js`
to create a new release of the VSCode plugin.

8. Update the Homebrew formula for Dafny (see below).
1. Update the Homebrew formula for Dafny (see below).
Note that it is fine to leave this for the next day,
and other members of the community may update the formula
in the meantime anyway.

9. Announce the new release to the world!
1. Announce the new release to the world!

If something goes wrong with the `prepare` step:

Expand Down

0 comments on commit 29f7e3a

Please sign in to comment.