Yicong-Huang opened a new pull request, #4508:
URL: https://github.com/apache/texera/pull/4508

   ### What changes were proposed in this PR?
   
   The `scala` job in `.github/workflows/github-action-build.yml` ran four 
separate `sbt` invocations:
   - `sbt scalafmtCheckAll`
   - `sbt clean package`
   - `sbt "scalafixAll --check"`
   - `sbt test`
   
   Each one paid the same cold-start cost: launcher boot, project loading, 
~19,160 settings, and plugin/dependency resolution. Local measurement on a warm 
worktree shows ~5–6s per invocation; on the CI runner it's ~12–15s. Across four 
invocations, that's ~36–60s of pure repeated startup.
   
   This PR combines them into a single `sbt 'scalafmtCheckAll; scalafixAll 
--check; test'`. `clean package` is dropped: `test` already triggers `compile` 
and `Test/compile` via the standard sbt task graph, and a fresh CI runner has 
no stale `target/` to clean.
   
   Non-sbt steps (`Create Databases`, `Set docker-java API version`) are moved 
above the combined sbt step since they only need to be in place before `test`.
   
   Trade-off: the GitHub Actions UI no longer shows a per-tool breakdown; on 
failure you read the log to find which sub-task failed. `scalafmtCheckAll` runs 
first so style violations still fail fast.
   
   ### Any related issues, documentation, discussions?
   
   Closes #4507
   
   ### How was this PR tested?
   
   Local measurement with sbt-launcher and target warm:
   
   | step | time |
   |---|---|
   | `sbt scalafmtCheckAll` alone | 6.0s |
   | `sbt 'scalafixAll --check'` alone | 13.8s |
   | sum of separate | **19.8s** |
   | `sbt 'scalafmtCheckAll; scalafixAll --check'` combined | **10.7s** |
   
   Saved ~9s locally per pair (≈ one sbt cold-start). Extrapolated to CI's 
slower startup, four invocations → one should save ~30–45s on the `scala` job. 
Will be confirmed by CI on this PR.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (Opus 4.7)


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