[
https://issues.apache.org/jira/browse/SPARK-58929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yicong Huang updated SPARK-58929:
---------------------------------
Affects Version/s: 4.4.0
(was: 5.0.0)
> 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: 4.4.0
> Reporter: Yicong Huang
> Priority: Major
>
> 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: [email protected]
For additional commands, e-mail: [email protected]