From c8ba443b0a11d4cbe7f0c9bc161e86ea91321041 Mon Sep 17 00:00:00 2001 From: Marek Date: Wed, 19 Feb 2025 15:18:06 +0100 Subject: [PATCH 1/8] Update PR template --- .github/pull_request_template.md | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 2c96aae4c07..f8372536d01 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,14 +1,13 @@ -## Motivation - -### Specifications & References +## Motivation ## Solution @@ -20,9 +19,15 @@ ### Tests + +### Specifications & References + + ### Follow-up Work @@ -34,21 +39,15 @@ list the related issues. --> -### PR Author's Checklist +### PR Checklist - + -- [ ] The PR name will make sense to users. -- [ ] The PR provides a CHANGELOG summary. +- [ ] The PR name is suitable for release notes. - [ ] The solution is tested. - [ ] The documentation is up to date. - [ ] The PR has a priority label. - -### PR Reviewer's Checklist - - - -- [ ] The PR Author's checklist is complete. -- [ ] The PR resolves the issue. +- [ ] If the PR shouldn't be in release notes, it has the `exclude-from-changelog` label. From d51ca911ba38f107aa5594fd17126a1727af42c6 Mon Sep 17 00:00:00 2001 From: Marek Date: Wed, 19 Feb 2025 16:29:51 +0100 Subject: [PATCH 2/8] Don't automatically assign the `C-trivial` label --- .github/release-drafter.yml | 85 ++++++++++++------------------------- 1 file changed, 26 insertions(+), 59 deletions(-) diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index eacf6c3ba70..879721a8725 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -6,77 +6,44 @@ # Automatically label PRs based on their branch, title, or changed files. # This helps categorise PRs in the CHANGELOG. autolabeler: - - label: 'C-security' + - label: "C-security" branch: - - '/secur/i' + - "/secur/i" title: - - '/secur/i' - - '/crash/i' - - '/destr/i' - - '/unsafe/i' - - label: 'C-deprecated' + - "/secur/i" + - "/crash/i" + - "/destr/i" + - "/unsafe/i" + - label: "C-deprecated" branch: - - '/deprecat/i' + - "/deprecat/i" title: - - '/deprecat/i' - - label: 'extra-reviews' + - "/deprecat/i" + - label: "extra-reviews" branch: - - '/remov/i' - - '/deprecat/i' + - "/remov/i" + - "/deprecat/i" title: - - '/remov/i' - - '/deprecat/i' - - '/crash/i' - - '/destr/i' - - '/unsafe/i' - - label: 'C-feature' + - "/remov/i" + - "/deprecat/i" + - "/crash/i" + - "/destr/i" + - "/unsafe/i" + - label: "C-feature" branch: - - '/feat/i' + - "/feat/i" title: - - '/feat/i' - - label: 'C-bug' + - "/feat/i" + - label: "C-bug" branch: - - '/bug/i' + - "/bug/i" title: - - '/bug/i' - # Changes that are almost always trivial for users - - label: 'C-trivial' - branch: - - '/clean/i' - - '/chore/i' - - '/clippy/i' - - '/test/i' - title: - - '/clean/i' - - '/chore/i' - - '/clippy/i' - - '/test/i' - - '/(ci)/i' - - '/(cd)/i' - - '/job/i' - - '/patch/i' - - '/actions/i' - files: - # Regular changes that don't need to go in the CHANGELOG - - 'CHANGELOG.md' - - 'zebra-consensus/src/checkpoint/*-checkpoints.txt' - # Developer-only changes - - '.gitignore' - - '.dockerignore' - # Test-only changes - - 'zebra-test' - - '.cargo/config.toml' - - 'clippy.toml' - # CI-only changes - - '.github' - - '.codespellrc' - - 'codecov.yml' - - 'deny.toml' + - "/bug/i" # The release name, tag, and settings for the draft CHANGELOG. -name-template: 'Zebra $RESOLVED_VERSION' -tag-template: 'v$RESOLVED_VERSION' -tag-prefix: 'v' +name-template: "Zebra $RESOLVED_VERSION" +tag-template: "v$RESOLVED_VERSION" +tag-prefix: "v" # Do not mark the draft release as a pre-release prerelease: false # Do not include pre-releases in the draft release From 6fa0bc2ed644ec9437bfcd1cf4e23ac909a7b889 Mon Sep 17 00:00:00 2001 From: Marek Date: Wed, 19 Feb 2025 16:31:30 +0100 Subject: [PATCH 3/8] Use `C-exclude-from-changelog` label --- .github/ISSUE_TEMPLATE/release.md | 2 +- .../release-checklist.md | 2 +- .github/dependabot.yml | 4 +- .github/pull_request_template.md | 3 +- .github/release-drafter.yml | 89 +++++++++---------- 5 files changed, 49 insertions(+), 51 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/release.md b/.github/ISSUE_TEMPLATE/release.md index 080bc385c20..dc42b4aa05e 100644 --- a/.github/ISSUE_TEMPLATE/release.md +++ b/.github/ISSUE_TEMPLATE/release.md @@ -2,7 +2,7 @@ name: "🚀 Zebra Release" about: 'Zebra team use only' title: 'Publish next Zebra release: (version)' -labels: 'A-release, C-trivial, P-Medium :zap:' +labels: 'A-release, C-exclude-from-changelog, P-Medium :zap:' assignees: '' --- diff --git a/.github/PULL_REQUEST_TEMPLATE/release-checklist.md b/.github/PULL_REQUEST_TEMPLATE/release-checklist.md index d71683b04ba..107f3f413fe 100644 --- a/.github/PULL_REQUEST_TEMPLATE/release-checklist.md +++ b/.github/PULL_REQUEST_TEMPLATE/release-checklist.md @@ -2,7 +2,7 @@ name: 'Release Checklist Template' about: 'Checklist to create and publish a Zebra release' title: 'Release Zebra (version)' -labels: 'A-release, C-trivial, P-Critical :ambulance:' +labels: 'A-release, C-exclude-from-changelog, P-Critical :ambulance:' assignees: '' --- diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 6fa1f4ef67e..7b0b210e1e1 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -11,7 +11,7 @@ updates: # Limit dependabot to 1 PR per reviewer open-pull-requests-limit: 6 labels: - - 'C-trivial' + - 'C-exclude-from-changelog' - 'A-rust' - 'A-dependencies' - 'P-Low :snowflake:' @@ -46,7 +46,7 @@ updates: timezone: America/New_York open-pull-requests-limit: 4 labels: - - 'C-trivial' + - 'C-exclude-from-changelog' - 'A-devops' - 'A-dependencies' - 'P-Low :snowflake:' diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index f8372536d01..2d71706d045 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -49,5 +49,6 @@ - [ ] The solution is tested. - [ ] The documentation is up to date. - [ ] The PR has a priority label. -- [ ] If the PR shouldn't be in release notes, it has the `exclude-from-changelog` label. +- [ ] If the PR shouldn't be in release notes, it has the + `C-exclude-from-changelog` label. diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index 879721a8725..1c9c002609b 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -51,48 +51,46 @@ include-pre-releases: false # Categories in rough order of importance to users. # Based on https://keepachangelog.com/en/1.0.0/ -category-template: '### $TITLE' +category-template: "### $TITLE" categories: - - title: 'Security' + - title: "Security" labels: - - 'C-security' + - "C-security" # Other labels that are usually security issues - - 'I-invalid-data' - - 'I-consensus' - - 'I-crash' - - 'I-destructive' - - 'I-hang' - - 'I-lose-funds' - - 'I-privacy' - - 'I-remote-node-overload' - - 'I-unbounded-growth' - - 'I-memory-safety' - - title: 'Removed' + - "I-invalid-data" + - "I-consensus" + - "I-crash" + - "I-destructive" + - "I-hang" + - "I-lose-funds" + - "I-privacy" + - "I-remote-node-overload" + - "I-unbounded-growth" + - "I-memory-safety" + - title: "Removed" labels: - - 'C-removal' - - title: 'Deprecated' + - "C-removal" + - title: "Deprecated" labels: - - 'C-deprecation' + - "C-deprecation" # TODO: when release drafter has per-category templates, add this to the Deprecated category template: # 'These features might be removed in Zebra $NEXT_MINOR_VERSION' - - title: 'Added' + - title: "Added" labels: - - 'C-feature' - - title: 'Changed' + - "C-feature" + - title: "Changed" labels: - - 'C-enhancement' - - title: 'Fixed' + - "C-enhancement" + - title: "Fixed" labels: - - 'C-bug' + - "C-bug" # Other labels that are usually bugs - - 'I-build-fail' - - 'I-integration-fail' - - 'I-panic' - # TODO: if we're happy with the trivial PRs, use "exclude-labels:" instead - - title: 'Trivial *TODO:* put this in a PR comment, not the CHANGELOG' + - "I-build-fail" + - "I-integration-fail" + - "I-panic" + - title: "Excluded *TODO:* put this in a PR comment, not the CHANGELOG" labels: - - 'C-trivial' - - 'C-cleanup' + - "C-exclude-from-changelog" # The next release's $RESOLVED_VERSION, based on the labels of the PRs in the release. # @@ -106,15 +104,15 @@ version-resolver: # - # network upgrade release PRs minor: labels: - - 'C-feature' - - 'C-breaking' - - 'C-removal' - - 'C-deprecation' + - "C-feature" + - "C-breaking" + - "C-removal" + - "C-deprecation" # We increment the patch version for every release default: patch # How PR names get turned into CHANGELOG entries. -change-template: '- $TITLE ([#$NUMBER]($URL))' +change-template: "- $TITLE ([#$NUMBER]($URL))" sort-by: title sort-direction: ascending # Characters escaped when converting PR titles to CHANGELOG entries. @@ -123,31 +121,30 @@ change-title-escapes: '\<*_&#@' # Strip PR series numbers, leading spaces, and conventional commit prefixes from PR titles. replacers: - search: '/- [0-9\. ]*([a-zA-Z0-9\(\)!]+:)?/' - replace: '- ' + replace: "- " # The list of contributors to each release. exclude-contributors: - - 'dependabot' # 'dependabot[bot]' - - 'mergifyio' # 'mergify[bot]' + - "dependabot" # 'dependabot[bot]' + - "mergifyio" # 'mergify[bot]' # The template for the draft CHANGELOG. template: | ## [Zebra $RESOLVED_VERSION](https://github.com/ZcashFoundation/zebra/releases/tag/v$RESOLVED_VERSION) - *TODO*: date - + This release *TODO*: a summary of the significant user-visible changes in the release - + ### Breaking Changes - + This release has the following breaking changes: - *TODO*: Check the `Removed` and `Deprecated` sections for any breaking changes - *TODO*: Add a short description of the user impact of each breaking change, and any actions users need to take - + $CHANGES - + ### Contributors - + Thank you to everyone who contributed to this release, we couldn't make Zebra without you: $CONTRIBUTORS - - + # the trailing newlines in the template are deliberate From 792555e92b480c56bb02bb02bbf73fe887ce0716 Mon Sep 17 00:00:00 2001 From: Marek Date: Wed, 19 Feb 2025 22:06:47 +0100 Subject: [PATCH 4/8] Simplify the PR template --- .github/pull_request_template.md | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 2d71706d045..94b70fe8749 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,20 +1,18 @@ ## Motivation ## Solution - + ### Tests @@ -26,24 +24,20 @@ ### Specifications & References - + ### Follow-up Work ### PR Checklist - + - [ ] The PR name is suitable for release notes. - [ ] The solution is tested. From 71c446d39b56c249e343daf98f9cc8c0e69bb553 Mon Sep 17 00:00:00 2001 From: Marek Date: Wed, 19 Feb 2025 22:11:34 +0100 Subject: [PATCH 5/8] Simplify the PR template --- .github/pull_request_template.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 94b70fe8749..d0a5ccf4aa3 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -29,10 +29,9 @@ ### Follow-up Work ### PR Checklist From 9507f817ed652afb203dcb1614126dbfc10d16a8 Mon Sep 17 00:00:00 2001 From: Marek Date: Wed, 19 Feb 2025 22:12:05 +0100 Subject: [PATCH 6/8] Simplify the PR template --- .github/pull_request_template.md | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index d0a5ccf4aa3..dd3d843625e 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -44,4 +44,3 @@ - [ ] The PR has a priority label. - [ ] If the PR shouldn't be in release notes, it has the `C-exclude-from-changelog` label. - From 0207605232374360ca1edb8fdfe70520c700e6a0 Mon Sep 17 00:00:00 2001 From: Marek Date: Fri, 21 Feb 2025 15:47:04 +0100 Subject: [PATCH 7/8] Update .github/pull_request_template.md Co-authored-by: Pili Guerra <1311133+mpguerra@users.noreply.github.com> --- .github/pull_request_template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index dd3d843625e..fe9c0c069aa 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -42,5 +42,5 @@ - [ ] The solution is tested. - [ ] The documentation is up to date. - [ ] The PR has a priority label. -- [ ] If the PR shouldn't be in release notes, it has the +- [ ] If the PR shouldn't be in the release notes, it has the `C-exclude-from-changelog` label. From 9556ab477949f0b90366bd2be180f27692f80648 Mon Sep 17 00:00:00 2001 From: Marek Date: Fri, 21 Feb 2025 15:47:49 +0100 Subject: [PATCH 8/8] grammar --- .github/pull_request_template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index fe9c0c069aa..57eb5bc62f1 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -38,7 +38,7 @@ -- [ ] The PR name is suitable for release notes. +- [ ] The PR name is suitable for the release notes. - [ ] The solution is tested. - [ ] The documentation is up to date. - [ ] The PR has a priority label.