[ 
https://issues.apache.org/jira/browse/SPARK-58929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated SPARK-58929:
-----------------------------------
    Labels: pull-request-available  (was: )

> 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
>              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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to