Jungtaek Lim created SPARK-58538:
------------------------------------

             Summary: Add branch-4.3 CI scheduler and release integration
                 Key: SPARK-58538
                 URL: https://issues.apache.org/jira/browse/SPARK-58538
             Project: Spark
          Issue Type: Improvement
          Components: Project Infra
    Affects Versions: 5.0.0
            Reporter: Jungtaek Lim


{{branch-4.3}} was cut from {{branch-4.x}} for the 4.3.0 release, but the CI 
and release plumbing that {{master}} maintains for each active release branch 
has not been added for it yet. This mirrors SPARK-56710 (which set up 
{{branch-4.2}} and {{branch-4.x}}) and SPARK-54143 (which set up 
{{branch-4.1}}).

h3. Background

The per-branch build workflows live on the branch itself, and {{branch-4.3}} 
already inherited a full set of them from {{branch-4.x}} when it was cut 
({{build_maven.yml}}, {{build_java17/21/25.yml}}, {{build_non_ansi.yml}}, 
{{build_python_*.yml}}, etc.). What is missing is on {{master}}: the scheduler 
that dispatches those workflows against {{--ref branch-4.3}}, plus the places 
that enumerate active branches.

h3. Work items

On {{master}}:

* Add {{.github/workflows/branch43_scheduler.yml}}, modelled on 
{{branch42_scheduler.yml}}: cron entries plus a {{workflow_dispatch}} 
{{target}} choice, dispatching each build workflow with {{gh workflow run 
<workflow>.yml --repo ${{ github.repository }} --ref branch-4.3}}. Cron times 
should be staggered against the existing schedulers to spread runner load.
* Add {{branch-4.3}} to the branch list in 
{{.github/workflows/publish_snapshot.yml}} (both the {{workflow_dispatch}} 
default and the matrix default), which is currently {{'["master", "branch-4.x", 
"branch-4.2", "branch-4.1", "branch-4.0", "branch-3.5"]'}}.
* Add a {{branch-4.3}} badge row to {{README.md}}, alongside the existing 
{{branch-4.x}} / {{branch-4.2}} / {{branch-4.1}} rows.
* Check whether {{dev/create-release/release-util.sh}} needs any update; it 
currently excludes {{master}} and {{branch-4.x}} when enumerating release 
branches, and {{branch-4.3}} should be picked up automatically, but this is 
worth confirming.

On {{branch-4.3}}:

* The inherited workflows are still titled for {{branch-4.x}} — e.g. 
{{build_maven.yml}} reads {{name: "Build / Maven (branch-4.x, Scala 2.13, 
Hadoop 3, JDK 17)"}} and {{build_java17.yml}} reads {{name: "Build / Java17 
(branch-4.x, ...)"}}. These names appear in the Actions UI and check-run names, 
so they should be retitled to {{branch-4.3}} to avoid confusion with the 
{{branch-4.x}} runs.

h3. Dependency

The Maven workflows inherited by {{branch-4.3}} carry the bug tracked 
separately: they call {{maven_test.yml}} without passing {{branch:}}, and that 
workflow's default is {{master}}, so they build {{master}} instead of the 
branch. That should be fixed first (or at the same time), otherwise 
{{branch-4.3}}'s new scheduler will faithfully dispatch three Maven workflows 
that silently test the wrong branch.




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