jason810496 opened a new pull request, #61626: URL: https://github.com/apache/airflow/pull/61626
related: https://github.com/apache/airflow/pull/61043#issuecomment-3861068570 ## Why As in the case of https://github.com/apache/airflow/pull/61043#issuecomment-3861068570, we might forget to add the milestone before/after merging the PR. This might cause the PR not to be included in the release and create additional work for the Release Manger. ## How After sharing the context of https://github.com/apache/airflow/pull/61043#issuecomment-3861068570 with @guan404ming, he mentioned that maybe we could have a GitHub Bot as a automated process to avoid the manual mistakes like the one above. ## What Add the first version of the Milestone Tag Assistant, which will only be triggered when there’s a merged PR without a milestone into `main` or `v3-1-test`. The bot will try to determine the correct milestone based on the following rules, but if the bot cannot find the matching milestone, it will still leave a comment to reminder the person who merge the PR. From my perspective, this kind of "fail fast" pattern should make our release process more reliable. Compared to relying on Release Manager to double-check the missing PRs that should be included the current release, having Bot to always reminder Committers to add the missing milestone should be more reliable and efficient, and should make the Release Manager’s life easier. ## Rules There are three cases: 1. CI-related: no need to set milestone 2. Patch release: default to the latest patch-release milestone - has a label like `backport-to-v3-1-test` - is merged to `v3-1-test` version branch 3. Next feature release: default value as latest milestone - is merged to `main` without backport label ## Verification Run the following script for the first time (when the milestone wasn't set): ```bash #!/bin/bash export GH_TOKEN=$(gh auth token) export GITHUB_REPOSITORY="apache/airflow" export PR_NUMBER=61619 export PR_TITLE="[v3-1-test] fix: correct typo in function name _set_runing_task (#61496)" export PR_LABELS='["area:API"]' # Must be a JSON formatted string array export BASE_BRANCH="v3-1-test" # The branch the PR was merged into export MERGED_BY="jason810496" breeze ci set-milestone ``` <img width="693" height="221" alt="Screenshot 2026-02-08 at 4 28 48 PM" src="https://github.com/user-attachments/assets/1b174174-246d-4f7e-a894-c730b16b5343" /> <img width="730" height="374" alt="Screenshot 2026-02-08 at 4 29 13 PM" src="https://github.com/user-attachments/assets/e3b24346-3046-4b74-a2e2-7fd7b1442feb" /> The second time should not leave a comment as the milestone was already set. <img width="678" height="161" alt="Screenshot 2026-02-08 at 4 33 29 PM" src="https://github.com/user-attachments/assets/f53c2942-3a53-4476-a6f0-d3fdcf12f494" /> ##### Was generative AI tooling used to co-author this PR? <!-- If generative AI tooling has been used in the process of authoring this PR, please change below checkbox to `[X]` followed by the name of the tool, uncomment the "Generated-by". --> - [x] Yes, GitHub Copilot with Claude Ops 4.5 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
