Skip to content

minor: release process - #18681

Open
cecemei wants to merge 14 commits into
apache:masterfrom
cecemei:tag-milestone
Open

cecemei wants to merge 14 commits into
apache:masterfrom
cecemei:tag-milestone

Conversation

@cecemei

@cecemei cecemei commented Oct 22, 2025 •

Copy link
Copy Markdown
Contributor

Release process.


This PR has:

  • been self-reviewed.
  • added documentation for new or modified features or behaviors.
  • a release note entry in the PR description.
  • added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
  • added or updated version, license, or notice information in licenses.yaml
  • added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
  • added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
  • added integration tests.
  • been tested in a test Druid cluster.

@github-actions

Copy link
Copy Markdown

This pull request has been marked as stale due to 60 days of inactivity.
It will be closed in 4 weeks if no further activity occurs. If you think
that's incorrect or this pull request should instead be reviewed, please simply
write any comment. Even if closed, you can still revive the PR at any time or
discuss it on the dev@druid.apache.org list.
Thank you for your contributions.

@github-actions github-actions Bot added the stale label Dec 28, 2025
@github-actions

Copy link
Copy Markdown

This pull request/issue has been closed due to lack of activity. If you think that
is incorrect, or the pull request requires review, you can revive the PR at any time.

@github-actions github-actions Bot closed this Jan 25, 2026
@cecemei cecemei reopened this Apr 8, 2026
@github-actions github-actions Bot removed the stale label Apr 9, 2026
@cecemei cecemei changed the title release minor: release process May 8, 2026
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

This pull request has been marked as stale due to 60 days of inactivity.
It will be closed in 4 weeks if no further activity occurs. If you think
that's incorrect or this pull request should instead be reviewed, please simply
write any comment. Even if closed, you can still revive the PR at any time or
discuss it on the dev@druid.apache.org list.
Thank you for your contributions.

@github-actions github-actions Bot added the stale label Jul 8, 2026
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown

This pull request/issue has been closed due to lack of activity. If you think that
is incorrect, or the pull request requires review, you can revive the PR at any time.

@github-actions github-actions Bot closed this Aug 6, 2026
@cecemei cecemei reopened this Sep 30, 2026
@cecemei
cecemei marked this pull request as ready for review September 30, 2026 16:18
@github-actions github-actions Bot removed the stale label Oct 1, 2026
print("Tagging Pull Request {} with milestone {}".format(pr_number, milestone))
url = "https://api.github.com/repos/apache/druid/issues/{}".format(pr_number)
requests.patch(url, json=milestone_json, auth=(github_username, os.environ["GIT_TOKEN"]))
if os.environ.get("DRY_RUN", "true").lower() == "false":

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please call out the DRY_RUN env variable in the help text of this script and maybe in the comments too.


```bash
$ git checkout origin/master
$ git checkout origin/37.0.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a line above mentioning that this is for hotfix/minor version releases.

@FrankChen021 FrankChen021 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Reviewed all 4 of 4 changed files in the supplied merge-base diff. The release-guide changes were checked against the three modified helper scripts and the surrounding milestone/backport workflow; the scripts have no repository test coverage, so the assessment is static.

Validation: git diff --check was run on the four changed files and reported trailing whitespace on added documentation lines. No builds, installs, formatters, or broad tests were run, per the requested static-review scope.

Severity Findings
P0 0
P1 1
P2 1
P3 1
Total 3

This is an automated review by Codex GPT-5.6-Luna(max)

After addressing the findings or replying to the comments, you can request another review from me to trigger a new automated review.

print("Tagging Pull Request {} with milestone {}".format(pr_number, milestone))
url = "https://api.github.com/repos/apache/druid/issues/{}".format(pr_number)
requests.patch(url, json=milestone_json, auth=(github_username, os.environ["GIT_TOKEN"]))
if os.environ.get("DRY_RUN", "true").lower() == "false":

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P1] Default dry-run disables milestone tagging

Finding: A normal invocation now takes the DRY_RUN default of true, so every missing milestone is only reported and the GitHub PATCH is skipped. The release guide still presents this script as the tool that tags missing PRs, and find-missing-backports.py relies on those milestones; following the documented workflow therefore leaves PRs untagged and can make the later backport check silently incomplete.

Suggestion: Keep the normal invocation mutating (or add an explicit --dry-run opt-in) and document the safe preview mode separately.


```bash
$ svn add 0.17.0-rc3
$ cp ../druid-release/distribution/target/apache* ./37.0.0-rc1/.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Artifact copy targets a directory that was never created

Finding: Immediately after checking out dist/dev/druid, the documented command copies into ./37.0.0-rc1/., but no step creates that directory. From a clean checkout, cp fails with a missing-destination error and the release artifacts are never staged for svn add.

Suggestion: Create the release-candidate directory before copying, or use a checkout/copy command that creates the destination explicitly.

### Cancelling a vote

If for any reason during the Druid PMC vote a blocking issue becomes apparent, a vote should be officially cancelled by sending an email with the following subject line: `[CANCEL][VOTE] Release Apache Druid 0.17.0 [RC3]` and the reasons for the cancellation in the body.
If for any reason during the Druid PMC vote a blocking issue becomes apparent, a vote should be officially cancelled by sending an email with the following subject line: `[CANCEL][VOTE] Release Apache Druid 37.0.0 [RC3]` and the reasons for the cancellation in the body.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P3] Cancellation template names the wrong release candidate

Finding: The voting and final-release instructions in this same guide use druid-37.0.0-rc2, but the cancellation subject was changed to 37.0.0 [RC3]. Copying the cancellation template for the documented vote would identify a different, likely nonexistent candidate and make the release-thread record inaccurate.

Suggestion: Use the same candidate placeholder/version as the vote and final-release examples, or make the RC number explicitly variable throughout the template.

@FrankChen021 FrankChen021 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

Rechecked the three findings from the previous review against this head: the milestone script now applies tags by default and documents APPLY_TAGS=false preview mode, the release candidate directory is created before copying, and the cancellation subject matches the RC2 vote and final-release examples. One non-blocking issue remains: most links in the new checklist do not navigate because their fragments use uppercase letters while GitHub heading IDs are lowercase. This affects navigation only; the release instructions remain readable and can be corrected after merging.

Coverage: reviewed all 4 of 4 changed files: distribution/asf-release-process-guide.md, distribution/bin/find-missing-backports.py, distribution/bin/get-milestone-prs.py, and distribution/bin/tag-missing-milestones.py. Started with the incremental diff, then inspected the full diff and surrounding release workflow and scripts; rechecked all three prior findings.

Validation: git diff --check 443688fea12b1fee730f38f3aef87462573b475e...HEAD reported trailing whitespace on 10 added guide lines. The prepared worktree is clean. Static review only; no builds or tests were run.

Severity Findings
P0 0
P1 0
P2 0
P3 1
Total 1

This is an automated review by Codex GPT-5.6-Luna(max)

After addressing the findings or replying to the comments, you can request another review from me to trigger a new automated review.

## 🚀 Release Checklist

- [ ] [Prior to starting, initial setup for release access](#prior-to-starting-initial-setup-for-release-access)
- [ ] [SVN access](#SVN-access)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P3] Lowercase the checklist section fragments

Finding: The new checklist uses fragments such as #SVN-access, but GitHub generates lowercase heading IDs such as #svn-access. Most checklist links therefore do not jump to their sections, making the new navigation unreliable.

Suggestion: Lowercase each fragment so it matches the generated ID for its target heading.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants