Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ jobs:
run: sbt githubWorkflowCheck

- name: Check scalafix/scalafmt lints
if: matrix.java == 'temurin@21' && (matrix.scala == '3') && matrix.project == 'rootJVM' && startsWith(matrix.os, 'ubuntu')
if: matrix.java == 'temurin@25' && (matrix.scala == '3') && matrix.project == 'rootJVM' && startsWith(matrix.os, 'ubuntu')
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' 'Test/copyResources; scalafixAll --check; all scalafmtSbtCheck scalafmtCheckAll'

- name: Check headers and formatting
Expand Down Expand Up @@ -145,7 +145,7 @@ jobs:

- name: Upload command line binaries
if: matrix.project == 'rootNative' && (matrix.scala == '3') && startsWith(github.ref, 'refs/tags/')
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: cli-bin-${{ matrix.os }}
path: modules/cli/native/target/bin/*
Expand Down Expand Up @@ -287,19 +287,19 @@ jobs:
if: startsWith(github.ref, 'refs/tags/')
strategy:
matrix:
os: [ubuntu-22.04]
java: [temurin@21]
os: [ubuntu-latest]
java: [temurin@25]
runs-on: ${{ matrix.os }}
steps:
- name: Download command line binaries
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
pattern: cli-bin-*
path: target-cli/bin
merge-multiple: true

- name: Upload release binaries
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
with:
files: target-cli/bin/*

Expand All @@ -309,15 +309,15 @@ jobs:
if: startsWith(github.ref, 'refs/tags/')
strategy:
matrix:
os: [ubuntu-22.04]
java: [temurin@21]
os: [ubuntu-latest]
java: [temurin@25]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout current branch (fast)
uses: actions/checkout@v6

- name: Download command line linux build
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-3-rootNative

Expand Down
33 changes: 22 additions & 11 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,22 @@ ThisBuild / semanticdbEnabled := true
ThisBuild / semanticdbVersion := scalafixSemanticdb.revision // use Scalafix compatible version

// githubWorkflow
lazy val macOsArm = "macos-latest"
lazy val macOses = Seq(macOsArm)
ThisBuild / githubWorkflowOSes := Seq("ubuntu-latest", macOsArm)
val defautOs = "ubuntu-latest"
val macOsArm = "macos-latest"
val macOses = Seq(macOsArm)

val defaultJavaVersion = JavaSpec.temurin("25")
val testJavaVersions = Seq(defaultJavaVersion, JavaSpec.temurin("17"))

val actionGhReleaseVersion = "v2" // https://github.com/softprops/action-gh-release
val actionUploadArtifactVersion = "v7" // https://github.com/actions/upload-artifact
val actionDownloadArtifactVersion = "v8" // https://github.com/actions/download-artifact

ThisBuild / githubWorkflowOSes := Seq(defautOs, macOsArm)
ThisBuild / githubWorkflowBuildMatrixExclusions ++= macOses.map(os =>
MatrixExclude(Map("os" -> os, "project" -> "rootJVM"))
)
ThisBuild / githubWorkflowJavaVersions := Seq(JavaSpec.temurin("25"), JavaSpec.temurin("17"))
ThisBuild / githubWorkflowJavaVersions := testJavaVersions
ThisBuild / tlCiHeaderCheck := true
ThisBuild / tlCiScalafixCheck := false

Expand Down Expand Up @@ -65,7 +74,7 @@ ThisBuild / githubWorkflowBuild := {
List("Test/copyResources; scalafixAll --check; all scalafmtSbtCheck scalafmtCheckAll"),
name = Some("Check scalafix/scalafmt lints"),
cond = Some(
"matrix.java == 'temurin@21' && (matrix.scala == '3') && matrix.project == 'rootJVM' && startsWith(matrix.os, 'ubuntu')"
s"matrix.java == '${defaultJavaVersion.render}' && (matrix.scala == '3') && matrix.project == 'rootJVM' && startsWith(matrix.os, 'ubuntu')"
),
) +: (ThisBuild / githubWorkflowBuild).value
}
Expand Down Expand Up @@ -118,7 +127,7 @@ ThisBuild / githubWorkflowBuild ++= List(
}

ThisBuild / githubWorkflowBuild += WorkflowStep.Use(
ref = UseRef.Public("actions", "upload-artifact", "v4"),
ref = UseRef.Public("actions", "upload-artifact", actionUploadArtifactVersion),
params = Map("name" -> "cli-bin-${{ matrix.os }}", "path" -> "modules/cli/native/target/bin/*"),
name = Some("Upload command line binaries"),
cond = Some(s"matrix.project == 'rootNative' && (matrix.scala == '3') && $isTagCond"),
Expand All @@ -134,15 +143,16 @@ ThisBuild / githubWorkflowGeneratedCI := (ThisBuild / githubWorkflowGeneratedCI)
needs = List("build"),
cond = Some(isTagCond),
scalas = Nil,
javas = List(JavaSpec.temurin("21")),
javas = List(defaultJavaVersion),
oses = List(defautOs),
steps = List(
WorkflowStep.Use(
ref = UseRef.Public("actions", "download-artifact", "v4"),
ref = UseRef.Public("actions", "download-artifact", actionDownloadArtifactVersion),
params = Map("pattern" -> "cli-bin-*", "path" -> "target-cli/bin", "merge-multiple" -> "true"),
name = Some("Download command line binaries"),
),
WorkflowStep.Use(
ref = UseRef.Public("softprops", "action-gh-release", "v1"),
ref = UseRef.Public("softprops", "action-gh-release", actionGhReleaseVersion),
name = Some("Upload release binaries"),
params = Map("files" -> "target-cli/bin/*"),
),
Expand All @@ -154,12 +164,13 @@ ThisBuild / githubWorkflowGeneratedCI := (ThisBuild / githubWorkflowGeneratedCI)
needs = List("build"),
cond = Some(isTagCond),
scalas = Nil,
javas = List(JavaSpec.temurin("21")),
javas = List(defaultJavaVersion),
oses = List(defautOs),
steps = List(
WorkflowStep.Checkout,
WorkflowStep.Use(
name = Some("Download command line linux build"),
ref = UseRef.Public("actions", "download-artifact", "v4"),
ref = UseRef.Public("actions", "download-artifact", actionDownloadArtifactVersion),
params = Map("name" -> "target-${{ matrix.os }}-${{ matrix.java }}-3-rootNative"),
),
WorkflowStep.Run(
Expand Down