nateab opened a new pull request, #27608:
URL: https://github.com/apache/flink/pull/27608

   ## Summary
   
   Adds 7 new shell scripts to `tools/releasing/` that automate the manual gaps 
in the Apache Flink release process. These are Layer 1 (gap-filling scripts) of 
a proposed layered release automation approach.
   
   - **`preflight_check.sh`** — Validates GPG keys, Maven/Nexus config, Java 
version, CLI tools, and PyPI credentials before starting a release
   - **`jira_ops.sh`** — Wraps JIRA REST API for blockers, release notes, 
version create/release
   - **`nexus_ops.sh`** — Wraps Apache Nexus 2 REST API for staging repo 
list/close/release/drop (eliminates web UI dependency)
   - **`dist_ops.sh`** — Wraps SVN operations on dist.apache.org for staging, 
promoting, and cleaning up release artifacts
   - **`generate_email.sh`** — Generates pre-filled email templates for vote, 
vote-result, and announcement emails
   - **`pyflink_ops.sh`** — Automates GitHub Actions trigger/wait/download for 
PyFlink wheel builds
   - **`update_all_versions.sh`** — Handles FlinkVersion enum updates and shows 
cross-repo tasks for major releases
   
   All scripts follow existing `tools/releasing/` conventions (ASF headers, 
`set -o errexit/nounset/pipefail`, `tools/` dir check, backtick substitution). 
Each supports `DRY_RUN=true` for write operations and has built-in `help` 
commands. No new dependencies beyond standard Unix tools + `curl` + `jq`.
   
   Design doc and implementation plan included in `docs/plans/`.
   
   ## Test plan
   
   - [ ] Run `releasing/preflight_check.sh` — verify pass/fail/warn report
   - [ ] Run `releasing/jira_ops.sh help` — verify usage without credentials
   - [ ] Run `releasing/nexus_ops.sh help` — verify usage without credentials
   - [ ] Run `releasing/dist_ops.sh help` — verify usage without env vars
   - [ ] Run `releasing/generate_email.sh vote 1.20.0 1` — verify template 
output
   - [ ] Run `releasing/generate_email.sh announce 1.20.0` — verify "first 
release" wording
   - [ ] Run `releasing/generate_email.sh announce 1.20.1` — verify "bugfix 
release" wording
   - [ ] Run `releasing/pyflink_ops.sh help` — verify usage
   - [ ] Run `releasing/update_all_versions.sh help` — verify usage without env 
vars
   - [ ] Run `RELEASE_VERSION=1.20.0 releasing/update_all_versions.sh 
show-cross-repo-tasks` — verify checklist
   - [ ] Run `DRY_RUN=true` on write commands to verify no real API calls are 
made
   - [ ] Verify credentials are not leaked via xtrace output


-- 
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]

Reply via email to