Yicong-Huang opened a new issue, #4507:
URL: https://github.com/apache/texera/issues/4507

   ### Task Summary
   
   `.github/workflows/github-action-build.yml` runs four separate `sbt` 
invocations in the `scala` job:
   
   ```
   sbt scalafmtCheckAll       # Lint with scalafmt
   sbt clean package          # Compile with sbt
   sbt "scalafixAll --check"  # Lint with scalafix
   sbt test                   # Run backend tests
   ```
   
   Each `sbt` invocation pays the same cold-start cost: launcher boot, project 
loading, plugin resolution (~19,160 settings), and dependency tree resolve. 
Local measurement on a warm worktree shows this overhead is ~5–6s per 
invocation; on the CI runner it is ~12–15s. Across the four invocations, that's 
~36–60s of pure repeated startup with no useful work.
   
   Combining the four into a single invocation — `sbt 'scalafmtCheckAll; 
scalafixAll --check; test'` — pays the startup cost once. `clean package` 
becomes redundant: `test` already triggers `compile` and `Test/compile` via the 
standard sbt task graph, and a fresh CI runner has no stale `target/` to clean.
   
   The non-sbt steps (`Create Databases`, `Set docker-java API version`) just 
need to run before `test`; they can be moved before the combined sbt step.
   
   ### Priority
   
   P2 – Medium
   
   ### Task Type
   
   - [x] DevOps / Deployment


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