diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 090a7cd..cc1b249 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,7 +24,7 @@ jobs: matrix: os: [ubuntu-latest, macos-latest, windows-latest] scala: [2.12.20] - java: [zulu@8, graal_graalvm@17, corretto@17] + java: [corretto@17, graal_graalvm@17, zulu@8] runs-on: ${{ matrix.os }} steps: - name: Ignore line ending differences in git @@ -45,12 +45,12 @@ jobs: with: fetch-depth: 0 - - name: Setup Java (zulu@8) - if: matrix.java == 'zulu@8' + - name: Setup Java (corretto@17) + if: matrix.java == 'corretto@17' uses: actions/setup-java@v5 with: - distribution: zulu - java-version: 8 + distribution: corretto + java-version: 17 cache: sbt - name: Setup GraalVM (graal_graalvm@17) @@ -63,12 +63,12 @@ jobs: github-token: ${{ secrets.GITHUB_TOKEN }} cache: sbt - - name: Setup Java (corretto@17) - if: matrix.java == 'corretto@17' + - name: Setup Java (zulu@8) + if: matrix.java == 'zulu@8' uses: actions/setup-java@v5 with: - distribution: corretto - java-version: 17 + distribution: zulu + java-version: 8 cache: sbt - name: Setup sbt @@ -78,9 +78,14 @@ jobs: shell: bash run: sbt '++ ${{ matrix.scala }}' githubWorkflowCheck - - shell: bash + - if: matrix.java != 'zulu@8' + shell: bash run: sbt '++ ${{ matrix.scala }}' '+ test' '+ scripted' + - if: matrix.java == 'zulu@8' + shell: bash + run: sbt '++ ${{ matrix.scala }}' test scripted + - name: Clean up Ivy Local repo shell: bash run: rm -rf "$HOME/.ivy2/local" @@ -103,7 +108,7 @@ jobs: matrix: os: [ubuntu-latest] scala: [2.12.20] - java: [zulu@8] + java: [corretto@17] runs-on: ${{ matrix.os }} steps: - name: Ignore line ending differences in git @@ -123,12 +128,12 @@ jobs: with: fetch-depth: 0 - - name: Setup Java (zulu@8) - if: matrix.java == 'zulu@8' + - name: Setup Java (corretto@17) + if: matrix.java == 'corretto@17' uses: actions/setup-java@v5 with: - distribution: zulu - java-version: 8 + distribution: corretto + java-version: 17 cache: sbt - name: Setup GraalVM (graal_graalvm@17) @@ -141,12 +146,12 @@ jobs: github-token: ${{ secrets.GITHUB_TOKEN }} cache: sbt - - name: Setup Java (corretto@17) - if: matrix.java == 'corretto@17' + - name: Setup Java (zulu@8) + if: matrix.java == 'zulu@8' uses: actions/setup-java@v5 with: - distribution: corretto - java-version: 17 + distribution: zulu + java-version: 8 cache: sbt - name: Setup sbt diff --git a/build.sbt b/build.sbt index 20f5c1d..ee267ce 100644 --- a/build.sbt +++ b/build.sbt @@ -22,14 +22,29 @@ ThisBuild / crossScalaVersions := Seq(scala212) ThisBuild / scalaVersion := scala212 ThisBuild / githubWorkflowOSes := Seq("ubuntu-latest", "macos-latest", "windows-latest") -ThisBuild / githubWorkflowBuild := Seq(WorkflowStep.Sbt(List("+ test", "+ scripted"))) +ThisBuild / githubWorkflowBuild := Seq( + WorkflowStep.Sbt( + commands = List("+ test", "+ scripted"), + cond = Some("matrix.java != 'zulu@8'") + ), + WorkflowStep.Sbt( + commands = List("test", "scripted"), + cond = Some("matrix.java == 'zulu@8'") + ), +) ThisBuild / githubWorkflowBuildPostamble += WorkflowStep.Run( commands = List("""rm -rf "$HOME/.ivy2/local""""), name = Some("Clean up Ivy Local repo") ) -ThisBuild / githubWorkflowJavaVersions ++= Seq( + +def publishTaskJavaSpec = JavaSpec.corretto("17") + +ThisBuild / githubWorkflowJavaVersions := Seq( + // https://github.com/sbt/sbt-github-actions/issues/216 + // https://github.com/sbt/sbt-github-actions/blob/6b89abdd5381ef61870b/src/main/scala/sbtghactions/GenerativePlugin.scala#L738 + publishTaskJavaSpec, JavaSpec.graalvm(Graalvm.Distribution("graalvm"), "17"), - JavaSpec.corretto("17") + JavaSpec.zulu("8"), ) ThisBuild / githubWorkflowTargetTags ++= Seq("v*") @@ -56,16 +71,25 @@ pluginCrossBuild / sbtVersion := { case "2.12" => "1.5.5" case _ => - "2.0.0-RC6" + "2.0.0-RC9" } } -crossScalaVersions += "3.7.3" +crossScalaVersions += "3.8.1" publishMavenStyle := true scalacOptions += "-Xlint:_,-missing-interpolator" +scalacOptions ++= { + scalaBinaryVersion.value match { + case "2.12" => + Seq("-release:8") + case "3" => + Nil + } +} + libraryDependencies += "org.specs2" %% "specs2-core" % "4.20.8" % Test enablePlugins(SbtPlugin)