-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
drop sbt 1.3.x support & speedup CI by parallelizing scripted #412
Conversation
a9ee330
to
5186725
Compare
dae31f4
to
aa7033a
Compare
@@ -73,6 +73,8 @@ scalacOptions ++= List( | |||
enablePlugins(ScriptedPlugin) | |||
sbtPlugin := true | |||
scriptedBufferLog := false | |||
scriptedBatchExecution := true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
despite the intent of sbt/sbt#6151, scriptedBatchExecution
is never true by default (because binVersion
is "1" on sbt 1.x)
9eac61b
to
afdf5e3
Compare
fde3f81
to
87e05d2
Compare
@@ -73,8 +73,9 @@ scalacOptions ++= List( | |||
enablePlugins(ScriptedPlugin) | |||
sbtPlugin := true | |||
scriptedBufferLog := false | |||
scriptedBatchExecution := true | |||
scriptedParallelInstances := 2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried 4 initially, but it brings transient failures on CI (every other run roughly...). Anyway, it seems slower overall when it passes, probably because of increased CPU/memory pressure, as standard VMs are 4 vCPU/16GB, and we request 4GB heap for the main process and 2GB per scripted batch.
c137041
to
749823f
Compare
a8d98c5
to
0dc413b
Compare
@@ -40,14 +45,17 @@ jobs: | |||
- uses: coursier/setup-action@v1 | |||
with: | |||
jvm: temurin:21 | |||
- run: sbt "test; scripted sbt-scalafix/* skip-windows/*" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sbt-1.5/*
was ignored on JDK21 until now. The fix was simply to bump a compatible scala 3 version (per the compatibility matrix).
scriptedBatchExecution effectively ignores custom build.properties, so this takes a different approach, running one sbt version per execution, spread over JDK versions for simplicity.
Goals
Why can we do it?
TODO