From cd3ef237ed9998a60e9754179122ac9ecd1c2e2f Mon Sep 17 00:00:00 2001 From: pierscin <30854591+pierscin@users.noreply.github.com> Date: Tue, 22 Sep 2026 11:11:03 +0200 Subject: [PATCH 1/7] Migrate to sbt 2.0.9 and sbt-softwaremill 3.0.0 - sbt 2.0.9; sbt-projectmatrix removed - sbt-ide-settings moved to org.jetbrains.scala 1.1.4 (sbt 2 build) - build.sbt: slash syntax, `*` varargs, `%%` instead of `%%%` - CI: JDK 25 for build, mima and publish Co-Authored-By: Claude Opus 5 --- .github/workflows/ci.yml | 3 +++ .scalafmt.conf | 3 +++ build.sbt | 20 ++++++++++---------- project/build.properties | 2 +- project/plugins.sbt | 5 ++--- 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 007943d..a8651c8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,6 +18,7 @@ jobs: github.event.pull_request.head.repo.full_name != github.repository || github.event.pull_request.user.login == 'softwaremill-ci' with: + java-version: "25" java-opts: '-Xmx4G' sttp-native: 1 install-libidn2: true @@ -25,6 +26,7 @@ jobs: mima: uses: softwaremill/github-actions-workflows/.github/workflows/mima.yml@main with: + java-version: "25" java-opts: "-Xmx4G" publish: @@ -33,6 +35,7 @@ jobs: if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v')) secrets: inherit with: + java-version: "25" java-opts: "-Xmx4G" sttp-native: 1 diff --git a/.scalafmt.conf b/.scalafmt.conf index 535893b..eb96219 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -5,4 +5,7 @@ fileOverride { "glob:**/scala-3/**" { runner.dialect = scala3 } + "glob:**.sbt" { + runner.dialect = scala3 + } } \ No newline at end of file diff --git a/build.sbt b/build.sbt index 2eebde8..3dd5bb3 100644 --- a/build.sbt +++ b/build.sbt @@ -10,7 +10,7 @@ val scala3 = List("3.3.8") val scalaTestVersion = "3.2.20" val scalaTestPlusScalaCheckVersion = "3.2.20.0" -excludeLintKeys in Global ++= Set(ideSkipProject) +Global / excludeLintKeys ++= Set(ideSkipProject) def dependenciesFor(version: String)(deps: (Option[(Long, Long)] => ModuleID)*): Seq[ModuleID] = deps.map(_.apply(CrossVersion.partialVersion(version))) @@ -24,7 +24,7 @@ val commonSettings = commonSmlBuildSettings ++ ossPublishSettings ++ Seq( val commonJvmSettings = commonSettings ++ Seq( scalacOptions ++= (if (ScalaArtifacts.isScala3(scalaVersion.value)) Seq("-Yfuture-lazy-vals", "-java-output-version", "11") - else Seq.empty), + else Seq("-release", "8")), ideSkipProject := (scalaVersion.value != scala2_13), libraryDependencies ++= Seq( "org.scalatest" %% "scalatest" % scalaTestVersion % Test, @@ -51,17 +51,17 @@ val commonJsSettings = commonSettings ++ Seq( } }, libraryDependencies ++= Seq( - "org.scala-js" %%% "scalajs-dom" % "2.8.1", - "org.scalatest" %%% "scalatest" % scalaTestVersion % Test, - "org.scalatestplus" %%% "scalacheck-1-19" % scalaTestPlusScalaCheckVersion % Test + "org.scala-js" %% "scalajs-dom" % "2.8.1", + "org.scalatest" %% "scalatest" % scalaTestVersion % Test, + "org.scalatestplus" %% "scalacheck-1-19" % scalaTestPlusScalaCheckVersion % Test ) ) val commonNativeSettings = commonSettings ++ Seq( ideSkipProject := true, libraryDependencies ++= Seq( - "org.scalatest" %%% "scalatest" % scalaTestVersion % Test, - "org.scalatestplus" %%% "scalacheck-1-19" % scalaTestPlusScalaCheckVersion % Test + "org.scalatest" %% "scalatest" % scalaTestVersion % Test, + "org.scalatestplus" %% "scalacheck-1-19" % scalaTestPlusScalaCheckVersion % Test ) ) @@ -80,9 +80,9 @@ lazy val allAggregates: Seq[ProjectReference] = { val compileAndTest = "compile->compile;test->test" lazy val rootProject = (project in file(".")) - .settings(commonSettings: _*) + .settings(commonSettings*) .settings(publish / skip := true, name := "sttp-model", scalaVersion := scala2_13) - .aggregate(allAggregates: _*) + .aggregate(allAggregates*) lazy val core = (projectMatrix in file("core")) .settings( @@ -95,7 +95,7 @@ lazy val core = (projectMatrix in file("core")) .jsPlatform( scalaVersions = scala2 ++ scala3, settings = commonJsSettings ++ browserChromeTestSettings ++ Seq( - libraryDependencies += "io.github.cquiroz" %%% "scala-java-time" % "2.7.0" + libraryDependencies += "io.github.cquiroz" %% "scala-java-time" % "2.7.0" ) ) .nativePlatform( diff --git a/project/build.properties b/project/build.properties index e0a1aa0..ddca111 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.13.0 +sbt.version=2.0.9 diff --git a/project/plugins.sbt b/project/plugins.sbt index 46059f9..a033b67 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,13 +1,12 @@ addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.22.0") addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.5.12") -addSbtPlugin("com.eed3si9n" % "sbt-projectmatrix" % "0.11.0") -val sbtSoftwareMillVersion = "2.1.2" +val sbtSoftwareMillVersion = "3.0.0" addSbtPlugin("com.softwaremill.sbt-softwaremill" % "sbt-softwaremill-common" % sbtSoftwareMillVersion) addSbtPlugin("com.softwaremill.sbt-softwaremill" % "sbt-softwaremill-publish" % sbtSoftwareMillVersion) addSbtPlugin("com.softwaremill.sbt-softwaremill" % "sbt-softwaremill-browser-test-js" % sbtSoftwareMillVersion) -addSbtPlugin("org.jetbrains" % "sbt-ide-settings" % "1.1.0") +addSbtPlugin("org.jetbrains.scala" % "sbt-ide-settings" % "1.1.4") addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "1.2.1") addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.8") From 27333d120f71479569e0db440d640d58d5432784 Mon Sep 17 00:00:00 2001 From: pierscin <30854591+pierscin@users.noreply.github.com> Date: Tue, 22 Sep 2026 14:28:32 +0200 Subject: [PATCH 2/7] New line --- .scalafmt.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.scalafmt.conf b/.scalafmt.conf index eb96219..e6196f8 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -8,4 +8,4 @@ fileOverride { "glob:**.sbt" { runner.dialect = scala3 } -} \ No newline at end of file +} From c9782f4402dc17d612aff421dc5b17da0a5e6623 Mon Sep 17 00:00:00 2001 From: pierscin <30854591+pierscin@users.noreply.github.com> Date: Tue, 22 Sep 2026 14:28:59 +0200 Subject: [PATCH 3/7] Steward on JDK 25 --- .github/workflows/scala-steward.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scala-steward.yml b/.github/workflows/scala-steward.yml index 8ed2e86..cf8c5eb 100644 --- a/.github/workflows/scala-steward.yml +++ b/.github/workflows/scala-steward.yml @@ -16,4 +16,4 @@ jobs: secrets: github-token: ${{ secrets.SOFTWAREMILL_CI_PR_TOKEN }} with: - java-version: '21' + java-version: '25' From 345f6e9932059f22b3b55b88472163678e496663 Mon Sep 17 00:00:00 2001 From: pierscin <30854591+pierscin@users.noreply.github.com> Date: Tue, 22 Sep 2026 14:53:36 +0200 Subject: [PATCH 4/7] Rolled back jdk to default used in workflows --- .github/workflows/ci.yml | 5 +---- .github/workflows/scala-steward.yml | 2 -- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a8651c8..c435e4c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,6 @@ jobs: github.event.pull_request.head.repo.full_name != github.repository || github.event.pull_request.user.login == 'softwaremill-ci' with: - java-version: "25" java-opts: '-Xmx4G' sttp-native: 1 install-libidn2: true @@ -26,7 +25,6 @@ jobs: mima: uses: softwaremill/github-actions-workflows/.github/workflows/mima.yml@main with: - java-version: "25" java-opts: "-Xmx4G" publish: @@ -35,7 +33,6 @@ jobs: if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v')) secrets: inherit with: - java-version: "25" java-opts: "-Xmx4G" sttp-native: 1 @@ -50,4 +47,4 @@ jobs: if: github.event.pull_request.user.login == 'softwaremill-ci' needs: [ build, mima, label ] uses: softwaremill/github-actions-workflows/.github/workflows/auto-merge.yml@main - secrets: inherit \ No newline at end of file + secrets: inherit diff --git a/.github/workflows/scala-steward.yml b/.github/workflows/scala-steward.yml index cf8c5eb..6080f92 100644 --- a/.github/workflows/scala-steward.yml +++ b/.github/workflows/scala-steward.yml @@ -15,5 +15,3 @@ jobs: uses: softwaremill/github-actions-workflows/.github/workflows/scala-steward.yml@main secrets: github-token: ${{ secrets.SOFTWAREMILL_CI_PR_TOKEN }} - with: - java-version: '25' From a185d5d4a38f05a84d48b5695cb36475df5913b2 Mon Sep 17 00:00:00 2001 From: pierscin <30854591+pierscin@users.noreply.github.com> Date: Tue, 22 Sep 2026 15:12:55 +0200 Subject: [PATCH 5/7] Revert "Rolled back jdk to default used in workflows" This reverts commit 345f6e9932059f22b3b55b88472163678e496663. --- .github/workflows/ci.yml | 5 ++++- .github/workflows/scala-steward.yml | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c435e4c..a8651c8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,6 +18,7 @@ jobs: github.event.pull_request.head.repo.full_name != github.repository || github.event.pull_request.user.login == 'softwaremill-ci' with: + java-version: "25" java-opts: '-Xmx4G' sttp-native: 1 install-libidn2: true @@ -25,6 +26,7 @@ jobs: mima: uses: softwaremill/github-actions-workflows/.github/workflows/mima.yml@main with: + java-version: "25" java-opts: "-Xmx4G" publish: @@ -33,6 +35,7 @@ jobs: if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v')) secrets: inherit with: + java-version: "25" java-opts: "-Xmx4G" sttp-native: 1 @@ -47,4 +50,4 @@ jobs: if: github.event.pull_request.user.login == 'softwaremill-ci' needs: [ build, mima, label ] uses: softwaremill/github-actions-workflows/.github/workflows/auto-merge.yml@main - secrets: inherit + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/scala-steward.yml b/.github/workflows/scala-steward.yml index 6080f92..cf8c5eb 100644 --- a/.github/workflows/scala-steward.yml +++ b/.github/workflows/scala-steward.yml @@ -15,3 +15,5 @@ jobs: uses: softwaremill/github-actions-workflows/.github/workflows/scala-steward.yml@main secrets: github-token: ${{ secrets.SOFTWAREMILL_CI_PR_TOKEN }} + with: + java-version: '25' From 873f0239a36ef1e9593be8b50670632f47fcf8dc Mon Sep 17 00:00:00 2001 From: pierscin <30854591+pierscin@users.noreply.github.com> Date: Tue, 22 Sep 2026 15:13:36 +0200 Subject: [PATCH 6/7] Check CI for jdk 21 --- .github/workflows/ci.yml | 8 ++++---- .github/workflows/scala-steward.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a8651c8..d435e1c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: github.event.pull_request.head.repo.full_name != github.repository || github.event.pull_request.user.login == 'softwaremill-ci' with: - java-version: "25" + java-version: "21" java-opts: '-Xmx4G' sttp-native: 1 install-libidn2: true @@ -26,7 +26,7 @@ jobs: mima: uses: softwaremill/github-actions-workflows/.github/workflows/mima.yml@main with: - java-version: "25" + java-version: "21" java-opts: "-Xmx4G" publish: @@ -35,7 +35,7 @@ jobs: if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v')) secrets: inherit with: - java-version: "25" + java-version: "21" java-opts: "-Xmx4G" sttp-native: 1 @@ -50,4 +50,4 @@ jobs: if: github.event.pull_request.user.login == 'softwaremill-ci' needs: [ build, mima, label ] uses: softwaremill/github-actions-workflows/.github/workflows/auto-merge.yml@main - secrets: inherit \ No newline at end of file + secrets: inherit diff --git a/.github/workflows/scala-steward.yml b/.github/workflows/scala-steward.yml index cf8c5eb..68ecf3e 100644 --- a/.github/workflows/scala-steward.yml +++ b/.github/workflows/scala-steward.yml @@ -16,4 +16,4 @@ jobs: secrets: github-token: ${{ secrets.SOFTWAREMILL_CI_PR_TOKEN }} with: - java-version: '25' + java-version: "21" From 186f68f99c552307e4f270b12698f4d1d6e81ea8 Mon Sep 17 00:00:00 2001 From: pierscin <30854591+pierscin@users.noreply.github.com> Date: Tue, 22 Sep 2026 15:42:38 +0200 Subject: [PATCH 7/7] java-version removed --- .github/workflows/ci.yml | 3 --- .github/workflows/scala-steward.yml | 2 -- 2 files changed, 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d435e1c..c435e4c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,6 @@ jobs: github.event.pull_request.head.repo.full_name != github.repository || github.event.pull_request.user.login == 'softwaremill-ci' with: - java-version: "21" java-opts: '-Xmx4G' sttp-native: 1 install-libidn2: true @@ -26,7 +25,6 @@ jobs: mima: uses: softwaremill/github-actions-workflows/.github/workflows/mima.yml@main with: - java-version: "21" java-opts: "-Xmx4G" publish: @@ -35,7 +33,6 @@ jobs: if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v')) secrets: inherit with: - java-version: "21" java-opts: "-Xmx4G" sttp-native: 1 diff --git a/.github/workflows/scala-steward.yml b/.github/workflows/scala-steward.yml index 68ecf3e..6080f92 100644 --- a/.github/workflows/scala-steward.yml +++ b/.github/workflows/scala-steward.yml @@ -15,5 +15,3 @@ jobs: uses: softwaremill/github-actions-workflows/.github/workflows/scala-steward.yml@main secrets: github-token: ${{ secrets.SOFTWAREMILL_CI_PR_TOKEN }} - with: - java-version: "21"