You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Yicong Huang (Jira)" <ji...@apache.org> on 2026/08/25 18:02:00 UTC
[jira] [Assigned] (SPARK-58929) Add a dry-run mode to merge_spark_pr.py
[ https://issues.apache.org/jira/browse/SPARK-58929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yicong Huang reassigned SPARK-58929:
------------------------------------
Assignee: Yicong Huang
> Add a dry-run mode to merge_spark_pr.py
> ---------------------------------------
>
> Key: SPARK-58929
> URL: https://issues.apache.org/jira/browse/SPARK-58929
> Project: Spark
> Issue Type: Improvement
> Components: Project Infra
> Affects Versions: 5.0.0
> Reporter: Yicong Huang
> Assignee: Yicong Huang
> Priority: Major
> Labels: pull-request-available
>
> merge_spark_pr.py performs several irreversible external effects when a committer merges a PR: the git push to PUSH_REMOTE_NAME, closing and commenting the PR through the GitHub API, and JIRA writes (component and fixVersion updates, the assignee, and the resolve transition).
> Today there is no way to rehearse the full flow without producing real side effects. The existing affordances cover only part of it: doctests exercise the pure logic (version inference, title parsing, similarity); SKIP_VERSION_CHECK lets a committer iterate against a real PR; and PR_REMOTE_NAME / PUSH_REMOTE_NAME can point the git push at a scratch fork. But GITHUB_API_BASE and JIRA_API_BASE are hardcoded to apache, so the PR close/comment and JIRA resolve paths cannot be redirected and always hit the real apache/spark repo and ASF JIRA.
> This adds a dry-run mode that suppresses every outbound effect and logs a clear "DRY-RUN: would <action> ..." line instead: the git push, the GitHub PR close/comment, and all JIRA writes. Read-only steps still run for real (fetching the PR, JIRA lookup, project_versions, and JIRA/GitHub token validation), and the local squash-merge and cherry-picks still run on the throwaway PR_TOOL_* branches so conflicts and the computed merge hash stay realistic. Interactive prompts continue to work.
> Dry-run is enabled via a --dry-run / -n flag or the DRY_RUN environment variable, consistent with the existing env-based configuration. New pure helpers (argument parsing and the git-push classifier) are covered by doctests.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org