From f1feaa24b823938cbe175c7b41272a8f570d8887 Mon Sep 17 00:00:00 2001 From: gemelen Date: Mon, 9 Feb 2026 01:03:09 -0300 Subject: [PATCH 1/4] Specify Scala 3 LTS and latest versions Scala 3.8+ requires JVM 17+ --- build.sbt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index de5209f5..59b0ade1 100644 --- a/build.sbt +++ b/build.sbt @@ -8,17 +8,21 @@ val algebraVersion = "2.13.0" val Scala212 = "2.12.21" val Scala213 = "2.13.18" -val Scala3 = "3.3.7" +val Scala3LTS = "3.3.7" +val Scala3 = "3.8.1" ThisBuild / tlBaseVersion := "0.9" ThisBuild / startYear := Some(2015) -ThisBuild / crossScalaVersions := Seq(Scala3, Scala213, Scala212) +ThisBuild / crossScalaVersions := Seq(Scala3, Scala3LTS, Scala213, Scala212) ThisBuild / tlVersionIntroduced := Map("3" -> "0.9.3") ThisBuild / tlFatalWarnings := false ThisBuild / tlCiReleaseBranches := Seq("master") ThisBuild / tlSitePublishBranch := Some("master") ThisBuild / githubWorkflowJavaVersions := Seq("8", "21").map(JavaSpec.temurin) +ThisBuild / githubWorkflowBuildMatrixExclusions := Seq( + MatrixExclude(matching = Map("scala" -> Scala3, "java" -> "temurin@8")) +) ThisBuild / githubWorkflowAddedJobs += WorkflowJob( "coverage", From 6b6046de4e01156f7c75c16839abb4ec72bac666 Mon Sep 17 00:00:00 2001 From: gemelen Date: Mon, 9 Feb 2026 01:04:05 -0300 Subject: [PATCH 2/4] Apply githubWorkflowGenerate --- .github/workflows/ci.yml | 68 ++++++++++++++++++---------------------- 1 file changed, 31 insertions(+), 37 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 620e2265..53c8c6e3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,18 +28,12 @@ jobs: strategy: matrix: os: [ubuntu-22.04] - scala: [3, 2.13, 2.12] + scala: [3.8.1, 3.3.7, 2.13.18, 2.12.21] java: [temurin@8, temurin@21] project: [rootJS, rootJVM, rootNative] exclude: - - scala: 3 - java: temurin@21 - - scala: 2.13 - java: temurin@21 - - project: rootJS - java: temurin@21 - - project: rootNative - java: temurin@21 + - scala: 3.8.1 + java: temurin@8 runs-on: ${{ matrix.os }} timeout-minutes: 60 steps: @@ -162,92 +156,92 @@ jobs: if: matrix.java == 'temurin@21' && steps.setup-java-temurin-21.outputs.cache-hit == 'false' run: sbt +update - - name: Download target directories (3, rootJS) + - name: Download target directories (3.3.7, rootJS) uses: actions/download-artifact@v6 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-3-rootJS + name: target-${{ matrix.os }}-${{ matrix.java }}-3.3.7-rootJS - - name: Inflate target directories (3, rootJS) + - name: Inflate target directories (3.3.7, rootJS) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (3, rootJVM) + - name: Download target directories (3.3.7, rootJVM) uses: actions/download-artifact@v6 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-3-rootJVM + name: target-${{ matrix.os }}-${{ matrix.java }}-3.3.7-rootJVM - - name: Inflate target directories (3, rootJVM) + - name: Inflate target directories (3.3.7, rootJVM) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (3, rootNative) + - name: Download target directories (3.3.7, rootNative) uses: actions/download-artifact@v6 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-3-rootNative + name: target-${{ matrix.os }}-${{ matrix.java }}-3.3.7-rootNative - - name: Inflate target directories (3, rootNative) + - name: Inflate target directories (3.3.7, rootNative) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (2.13, rootJS) + - name: Download target directories (2.13.18, rootJS) uses: actions/download-artifact@v6 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-rootJS + name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.18-rootJS - - name: Inflate target directories (2.13, rootJS) + - name: Inflate target directories (2.13.18, rootJS) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (2.13, rootJVM) + - name: Download target directories (2.13.18, rootJVM) uses: actions/download-artifact@v6 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-rootJVM + name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.18-rootJVM - - name: Inflate target directories (2.13, rootJVM) + - name: Inflate target directories (2.13.18, rootJVM) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (2.13, rootNative) + - name: Download target directories (2.13.18, rootNative) uses: actions/download-artifact@v6 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-rootNative + name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.18-rootNative - - name: Inflate target directories (2.13, rootNative) + - name: Inflate target directories (2.13.18, rootNative) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (2.12, rootJS) + - name: Download target directories (2.12.21, rootJS) uses: actions/download-artifact@v6 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-rootJS + name: target-${{ matrix.os }}-${{ matrix.java }}-2.12.21-rootJS - - name: Inflate target directories (2.12, rootJS) + - name: Inflate target directories (2.12.21, rootJS) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (2.12, rootJVM) + - name: Download target directories (2.12.21, rootJVM) uses: actions/download-artifact@v6 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-rootJVM + name: target-${{ matrix.os }}-${{ matrix.java }}-2.12.21-rootJVM - - name: Inflate target directories (2.12, rootJVM) + - name: Inflate target directories (2.12.21, rootJVM) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (2.12, rootNative) + - name: Download target directories (2.12.21, rootNative) uses: actions/download-artifact@v6 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-rootNative + name: target-${{ matrix.os }}-${{ matrix.java }}-2.12.21-rootNative - - name: Inflate target directories (2.12, rootNative) + - name: Inflate target directories (2.12.21, rootNative) run: | tar xf targets.tar rm targets.tar @@ -322,7 +316,7 @@ jobs: - name: Submit Dependencies uses: scalacenter/sbt-dependency-submission@v2 with: - modules-ignore: rootjs_3 rootjs_2.13 rootjs_2.12 docs_3 docs_2.13 docs_2.12 cats-collections-tests_sjs1_3 cats-collections-tests_sjs1_2.13 cats-collections-tests_sjs1_2.12 rootjvm_3 rootjvm_2.13 rootjvm_2.12 rootnative_3 rootnative_2.13 rootnative_2.12 cats-collections-tests_3 cats-collections-tests_2.13 cats-collections-tests_2.12 cats-collections-tests_native0.5_3 cats-collections-tests_native0.5_2.13 cats-collections-tests_native0.5_2.12 cats-collections-bench_3 cats-collections-bench_2.13 cats-collections-bench_2.12 + modules-ignore: rootjs_3 rootjs_3 rootjs_2.13 rootjs_2.12 docs_3 docs_3 docs_2.13 docs_2.12 cats-collections-tests_sjs1_3 cats-collections-tests_sjs1_3 cats-collections-tests_sjs1_2.13 cats-collections-tests_sjs1_2.12 rootjvm_3 rootjvm_3 rootjvm_2.13 rootjvm_2.12 rootnative_3 rootnative_3 rootnative_2.13 rootnative_2.12 cats-collections-tests_3 cats-collections-tests_3 cats-collections-tests_2.13 cats-collections-tests_2.12 cats-collections-tests_native0.5_3 cats-collections-tests_native0.5_3 cats-collections-tests_native0.5_2.13 cats-collections-tests_native0.5_2.12 cats-collections-bench_3 cats-collections-bench_3 cats-collections-bench_2.13 cats-collections-bench_2.12 configs-ignore: test scala-tool scala-doc-tool test-internal coverage: From a036518fb652cb14c7c3960b415b7b057b0cc135 Mon Sep 17 00:00:00 2001 From: gemelen Date: Mon, 9 Feb 2026 01:32:44 -0300 Subject: [PATCH 3/4] Return some build matrix exclusions --- build.sbt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 59b0ade1..eb008a8a 100644 --- a/build.sbt +++ b/build.sbt @@ -21,7 +21,9 @@ ThisBuild / tlCiReleaseBranches := Seq("master") ThisBuild / tlSitePublishBranch := Some("master") ThisBuild / githubWorkflowJavaVersions := Seq("8", "21").map(JavaSpec.temurin) ThisBuild / githubWorkflowBuildMatrixExclusions := Seq( - MatrixExclude(matching = Map("scala" -> Scala3, "java" -> "temurin@8")) + MatrixExclude( Map( "scala" -> Scala3, "java" -> "temurin@8")), + MatrixExclude( Map( "project" -> "rootJS", "java" -> "temurin@21")), + MatrixExclude( Map( "project" -> "rootNative", "java" -> "temurin@21")) ) ThisBuild / githubWorkflowAddedJobs += WorkflowJob( From 0817162523cdffc22b8b2d6e92a23b93a78de5c8 Mon Sep 17 00:00:00 2001 From: gemelen Date: Mon, 9 Feb 2026 01:32:54 -0300 Subject: [PATCH 4/4] Apply githubWorkflowGenerate --- .github/workflows/ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 53c8c6e3..d69c558f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,6 +34,10 @@ jobs: exclude: - scala: 3.8.1 java: temurin@8 + - project: rootJS + java: temurin@21 + - project: rootNative + java: temurin@21 runs-on: ${{ matrix.os }} timeout-minutes: 60 steps: