Skip to content

Commit ddc13c2

Browse files
robin-awsatomb
andauthored
chore: Quick CI refactoring followups (#2099)
* Replace `skip-deep-tests-check` label with `run-deep-tests` label on PRs. Rather than skip this check and wait to see if you've fixed master, better to run them directly on the PR first. * Updated `RELEASE.md` to indicate you need to manually trigger `deep-tests.yml` after merging the update to the version. The automation is strict and looks for a run on exactly the commit being tagged, and there isn't a way to trigger a workflow on a past commit, only the tip of a branch. It's possible to make the commit to download different from the one defining the workflow, but `check-deep-tests` would need to be refactored to understand that. Co-authored-by: Aaron Tomb <[email protected]>
1 parent 22e3dd6 commit ddc13c2

File tree

2 files changed

+21
-11
lines changed

2 files changed

+21
-11
lines changed

.github/workflows/msbuild.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,14 @@ jobs:
5252

5353
check-deep-tests:
5454
uses: ./.github/workflows/check-deep-tests-reusable.yml
55-
if: "!(contains(github.event.pull_request.labels.*.name, 'skip-deep-tests-check'))"
55+
if: "!(contains(github.event.pull_request.labels.*.name, 'run-deep-tests'))"
5656

5757
integration-tests:
5858
needs: check-deep-tests
5959
uses: ./.github/workflows/integration-tests-reusable.yml
6060
with:
61-
all_platforms: false
61+
# By default run only on one platform, but run on all platforms if the PR has the "run-deep-tests"
62+
# label, and skip checking the nightly build above.
63+
# This is the best way to fix an issue in master that was only caught by the nightly build.
64+
all_platforms: ${{ contains(github.event.pull_request.labels.*.name, 'run-deep-tests') }}
6265
num_shards: 5

RELEASE.md

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,15 @@
2222
Push and cut a PR, get it approved,
2323
and squash and merge those changes to the `master` branch.
2424

25-
3. Create a fresh clone of the repo locally, making sure the latest commit
26-
is the squashed commit you just merged, and push the tag for this release.
25+
3. Kick off the deep test suite by navigating to
26+
https://github.com/dafny-lang/dafny/actions/workflows/deep-tests.yml,
27+
clicking the "Run workflow" dropdown, ensuring `master` is selected,
28+
and clicking the "Run workflow" button. The automation for releasing
29+
below will check for a run of this workflow on the exact commit
30+
to release.
31+
32+
4. Create a fresh clone of the repo locally, making sure the latest commit
33+
is the squashed commit you just merged and tested, and push the tag for this release.
2734

2835
```
2936
git clone [email protected]:dafny-lang/dafny.git dafny-for-tagging
@@ -32,35 +39,35 @@
3239
git push v<$VER>
3340
```
3441

35-
4. A GitHub action will automatically run in reaction to the tag being pushed,
42+
5. A GitHub action will automatically run in reaction to the tag being pushed,
3643
which will build the artifacts and reference manual and then create a draft
3744
GitHub release. You can find and watch the progress of this workflow at
3845
https://github.com/dafny-lang/dafny/actions.
3946

40-
5. Once the action completes, you should find the draft release at
47+
6. Once the action completes, you should find the draft release at
4148
https://github.com/dafny-lang/dafny/releases. Edit the release body
4249
to add in the release notes from `RELEASE_NOTES.md`.
4350
Also check the box to create a new discussion based on
4451
the release, if this is not a pre-release.
4552

46-
6. Push the "Publish" button. This will trigger yet another workflow
53+
7. Push the "Publish" button. This will trigger yet another workflow
4754
that will download the published artifacts and run a smoke test
4855
on multiple platforms. Again you can watch for this workflow at
4956
https://github.com/dafny-lang/dafny/actions.
5057

51-
7. If preparing a pre-release, stop here, as
58+
8. If preparing a pre-release, stop here, as
5259
the following steps declare the release as the latest version, which
5360
is not the intention.
5461

55-
8. If something goes wrong, delete the tag and release in GitHub, fix the
62+
9. If something goes wrong, delete the tag and release in GitHub, fix the
5663
problem and try again.
5764

58-
9. Update the Homebrew formula for Dafny (see below).
65+
10. Update the Homebrew formula for Dafny (see below).
5966
Note that it is fine to leave this for the next day,
6067
and other members of the community may update the formula
6168
in the meantime anyway.
6269

63-
10. Announce the new release to the world.
70+
11. Announce the new release to the world.
6471

6572
## Updating Dafny on Homebrew
6673

0 commit comments

Comments
 (0)