diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6cfde29d..a93f5a3f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -106,15 +106,15 @@ jobs: - name: Make target directories if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') - run: mkdir -p modules/http4s-ember/.jvm/target modules/json4s/.js/target modules/http4s-ember/.js/target modules/http4s/.jvm/target modules/http4s/.js/target modules/circe/.jvm/target modules/scalacheck/.native/target modules/client/.native/target unidocs/target modules/sttp/.native/target modules/client/.js/target modules/json4s/.native/target modules/jawn/.jvm/target modules/http4s-netty/.jvm/target modules/client/.jvm/target modules/manifests/.js/target modules/circe/.js/target modules/objects/.js/target modules/objects/.jvm/target modules/jawn/.js/target modules/spray-json/.jvm/target modules/play-json/.jvm/target modules/zio/.jvm/target modules/manifests/.jvm/target modules/http4s-blaze/.jvm/target modules/sttp/.js/target modules/http4s/.native/target modules/sttp/.jvm/target modules/http4s-jdk/.jvm/target modules/jawn/.native/target modules/circe/.native/target modules/zio-json/.js/target modules/objects/.native/target modules/json4s/.jvm/target modules/scalacheck/.jvm/target modules/zio-json/.jvm/target modules/java-ssl/.jvm/target modules/http4s-ember/.native/target modules/manifests/.native/target modules/scalacheck/.js/target project/target + run: mkdir -p modules/http4s-ember/.jvm/target modules/json4s/.js/target modules/http4s-ember/.js/target modules/http4s/.jvm/target modules/http4s/.js/target modules/circe/.jvm/target modules/scalacheck/.native/target modules/client/.native/target unidocs/target modules/sttp/.native/target modules/client/.js/target modules/json4s/.native/target modules/jawn/.jvm/target modules/http4s-netty/.jvm/target modules/client/.jvm/target modules/manifests/.js/target modules/circe/.js/target modules/objects/.js/target modules/objects/.jvm/target modules/jawn/.js/target modules/spray-json/.jvm/target modules/play-json/.jvm/target modules/zio/.jvm/target modules/manifests/.jvm/target modules/http4s-blaze/.jvm/target modules/sttp/.js/target modules/sttp/.jvm/target modules/http4s-jdk/.jvm/target modules/jawn/.native/target modules/circe/.native/target modules/zio-json/.js/target modules/objects/.native/target modules/json4s/.jvm/target modules/scalacheck/.jvm/target modules/zio-json/.jvm/target modules/java-ssl/.jvm/target modules/manifests/.native/target modules/scalacheck/.js/target project/target - name: Compress target directories if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') - run: tar cf targets.tar modules/http4s-ember/.jvm/target modules/json4s/.js/target modules/http4s-ember/.js/target modules/http4s/.jvm/target modules/http4s/.js/target modules/circe/.jvm/target modules/scalacheck/.native/target modules/client/.native/target unidocs/target modules/sttp/.native/target modules/client/.js/target modules/json4s/.native/target modules/jawn/.jvm/target modules/http4s-netty/.jvm/target modules/client/.jvm/target modules/manifests/.js/target modules/circe/.js/target modules/objects/.js/target modules/objects/.jvm/target modules/jawn/.js/target modules/spray-json/.jvm/target modules/play-json/.jvm/target modules/zio/.jvm/target modules/manifests/.jvm/target modules/http4s-blaze/.jvm/target modules/sttp/.js/target modules/http4s/.native/target modules/sttp/.jvm/target modules/http4s-jdk/.jvm/target modules/jawn/.native/target modules/circe/.native/target modules/zio-json/.js/target modules/objects/.native/target modules/json4s/.jvm/target modules/scalacheck/.jvm/target modules/zio-json/.jvm/target modules/java-ssl/.jvm/target modules/http4s-ember/.native/target modules/manifests/.native/target modules/scalacheck/.js/target project/target + run: tar cf targets.tar modules/http4s-ember/.jvm/target modules/json4s/.js/target modules/http4s-ember/.js/target modules/http4s/.jvm/target modules/http4s/.js/target modules/circe/.jvm/target modules/scalacheck/.native/target modules/client/.native/target unidocs/target modules/sttp/.native/target modules/client/.js/target modules/json4s/.native/target modules/jawn/.jvm/target modules/http4s-netty/.jvm/target modules/client/.jvm/target modules/manifests/.js/target modules/circe/.js/target modules/objects/.js/target modules/objects/.jvm/target modules/jawn/.js/target modules/spray-json/.jvm/target modules/play-json/.jvm/target modules/zio/.jvm/target modules/manifests/.jvm/target modules/http4s-blaze/.jvm/target modules/sttp/.js/target modules/sttp/.jvm/target modules/http4s-jdk/.jvm/target modules/jawn/.native/target modules/circe/.native/target modules/zio-json/.js/target modules/objects/.native/target modules/json4s/.jvm/target modules/scalacheck/.jvm/target modules/zio-json/.jvm/target modules/java-ssl/.jvm/target modules/manifests/.native/target modules/scalacheck/.js/target project/target - name: Upload target directories if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: target-${{ matrix.os }}-${{ matrix.java }}-${{ matrix.scala }}-${{ matrix.project }} path: targets.tar @@ -164,7 +164,7 @@ jobs: run: sbt +update - name: Download target directories (2.12, rootJS) - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v6 with: name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-rootJS @@ -174,7 +174,7 @@ jobs: rm targets.tar - name: Download target directories (2.12, rootJVM) - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v6 with: name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-rootJVM @@ -184,7 +184,7 @@ jobs: rm targets.tar - name: Download target directories (2.12, rootNative) - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v6 with: name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-rootNative @@ -194,7 +194,7 @@ jobs: rm targets.tar - name: Download target directories (2.13, rootJS) - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v6 with: name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-rootJS @@ -204,7 +204,7 @@ jobs: rm targets.tar - name: Download target directories (2.13, rootJVM) - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v6 with: name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-rootJVM @@ -214,7 +214,7 @@ jobs: rm targets.tar - name: Download target directories (2.13, rootNative) - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v6 with: name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-rootNative @@ -224,7 +224,7 @@ jobs: rm targets.tar - name: Download target directories (3, rootJS) - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v6 with: name: target-${{ matrix.os }}-${{ matrix.java }}-3-rootJS @@ -234,7 +234,7 @@ jobs: rm targets.tar - name: Download target directories (3, rootJVM) - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v6 with: name: target-${{ matrix.os }}-${{ matrix.java }}-3-rootJVM @@ -244,7 +244,7 @@ jobs: rm targets.tar - name: Download target directories (3, rootNative) - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v6 with: name: target-${{ matrix.os }}-${{ matrix.java }}-3-rootNative @@ -323,7 +323,7 @@ jobs: - name: Submit Dependencies uses: scalacenter/sbt-dependency-submission@v2 with: - modules-ignore: scala-k8s-client-test_sjs1_2.12 scala-k8s-client-test_sjs1_2.13 scala-k8s-client-test_sjs1_3 scala-k8s-client-test_2.12 scala-k8s-client-test_2.13 scala-k8s-client-test_3 scala-k8s_2.12 scala-k8s_2.13 scala-k8s_3 docs_2.12 docs_2.13 docs_3 scala-k8s-example-cross-platform_sjs1_2.12 scala-k8s-example-cross-platform_sjs1_2.13 scala-k8s-example-cross-platform_sjs1_3 scala-k8s-codec-test_2.12 scala-k8s-codec-test_2.13 scala-k8s-codec-test_3 scala-k8s-objects-test_sjs1_2.12 scala-k8s-objects-test_sjs1_2.13 scala-k8s-objects-test_sjs1_3 scala-k8s-codec-test_native0.4_2.12 scala-k8s-codec-test_native0.4_2.13 scala-k8s-codec-test_native0.4_3 scala-k8s-example-jvm_2.12 scala-k8s-example-jvm_2.13 scala-k8s-example-jvm_3 scala-k8s-codec-test_sjs1_2.12 scala-k8s-codec-test_sjs1_2.13 scala-k8s-codec-test_sjs1_3 scala-k8s-example-cross-platform_native0.4_2.12 scala-k8s-example-cross-platform_native0.4_2.13 scala-k8s-example-cross-platform_native0.4_3 scala-k8s_2.12 scala-k8s_2.13 scala-k8s_3 scala-k8s_2.12 scala-k8s_2.13 scala-k8s_3 scala-k8s-objects-test_2.12 scala-k8s-objects-test_2.13 scala-k8s-objects-test_3 scala-k8s-example-cross-platform_2.12 scala-k8s-example-cross-platform_2.13 scala-k8s-example-cross-platform_3 + modules-ignore: scala-k8s-client-test_sjs1_2.12 scala-k8s-client-test_sjs1_2.13 scala-k8s-client-test_sjs1_3 scala-k8s-client-test_2.12 scala-k8s-client-test_2.13 scala-k8s-client-test_3 scala-k8s_2.12 scala-k8s_2.13 scala-k8s_3 docs_2.12 docs_2.13 docs_3 scala-k8s-example-cross-platform_sjs1_2.12 scala-k8s-example-cross-platform_sjs1_2.13 scala-k8s-example-cross-platform_sjs1_3 scala-k8s-codec-test_2.12 scala-k8s-codec-test_2.13 scala-k8s-codec-test_3 scala-k8s-objects-test_sjs1_2.12 scala-k8s-objects-test_sjs1_2.13 scala-k8s-objects-test_sjs1_3 scala-k8s-codec-test_native0.5_2.12 scala-k8s-codec-test_native0.5_2.13 scala-k8s-codec-test_native0.5_3 scala-k8s-example-jvm_2.12 scala-k8s-example-jvm_2.13 scala-k8s-example-jvm_3 scala-k8s-codec-test_sjs1_2.12 scala-k8s-codec-test_sjs1_2.13 scala-k8s-codec-test_sjs1_3 scala-k8s_2.12 scala-k8s_2.13 scala-k8s_3 scala-k8s_2.12 scala-k8s_2.13 scala-k8s_3 scala-k8s-objects-test_2.12 scala-k8s-objects-test_2.13 scala-k8s-objects-test_3 scala-k8s-example-cross-platform_2.12 scala-k8s-example-cross-platform_2.13 scala-k8s-example-cross-platform_3 configs-ignore: test scala-tool scala-doc-tool test-internal validate-steward: diff --git a/build.sbt b/build.sbt index d56de66f..702774b5 100644 --- a/build.sbt +++ b/build.sbt @@ -2,7 +2,7 @@ import dev.hnaderi.k8s.generator.KubernetesJsonPointerGeneratorPlugin import dev.hnaderi.k8s.generator.KubernetesScalacheckGeneratorPlugin import sbtcrossproject.CrossProject -ThisBuild / tlBaseVersion := "0.25" +ThisBuild / tlBaseVersion := "0.26" ThisBuild / organization := "dev.hnaderi" ThisBuild / organizationName := "Hossein Naderi" @@ -13,7 +13,7 @@ ThisBuild / developers := List( ) val scala212 = "2.12.20" -val scala213 = "2.13.16" +val scala213 = "2.13.18" val scala3 = "3.3.7" val PrimaryJava = JavaSpec.temurin("11") val LTSJava = JavaSpec.temurin("17") @@ -79,8 +79,8 @@ lazy val root = name := "scala-k8s" ) -lazy val circeVersion = "0.14.8" -lazy val munitVersion = "1.0.0-M11" +lazy val circeVersion = "0.14.15" +lazy val munitVersion = "1.2.0" val rootDir = Def.setting((ThisBuild / baseDirectory).value) @@ -138,12 +138,15 @@ lazy val javaSSL = module("java-ssl") { } lazy val http4s = module("http4s") { - crossProject(JVMPlatform, JSPlatform, NativePlatform) + crossProject( + JVMPlatform, + JSPlatform // ,NativePlatform TODO enable after typelevel adopted + ) .crossType(CrossType.Pure) .settings( description := "http4s based client for kubernetes", libraryDependencies ++= Seq( - "org.http4s" %%% "http4s-client" % "0.23.30" + "org.http4s" %%% "http4s-client" % "0.23.33" ) ) .dependsOn(client, jawn) @@ -151,12 +154,15 @@ lazy val http4s = module("http4s") { } lazy val http4sEmber = module("http4s-ember") { - crossProject(JVMPlatform, JSPlatform, NativePlatform) + crossProject( + JVMPlatform, + JSPlatform // , NativePlatform + ) .crossType(CrossType.Pure) .settings( description := "http4s ember based client for kubernetes", libraryDependencies ++= Seq( - "org.http4s" %%% "http4s-ember-client" % "0.23.30" + "org.http4s" %%% "http4s-ember-client" % "0.23.33" ) ) .dependsOn(http4s) @@ -167,7 +173,7 @@ lazy val http4sNetty = module("http4s-netty") { .settings( description := "http4s netty based client for kubernetes", libraryDependencies ++= Seq( - "org.http4s" %% "http4s-netty-client" % "0.5.25" + "org.http4s" %% "http4s-netty-client" % "0.5.26" ) ) .dependsOn(http4s) @@ -202,7 +208,7 @@ lazy val sttp = module("sttp") { .settings( description := "sttp based client for kubernetes", libraryDependencies ++= Seq( - "com.softwaremill.sttp.client3" %%% "core" % "3.9.8" + "com.softwaremill.sttp.client3" %%% "core" % "3.11.0" ) ) .dependsOn(client, jawn) @@ -215,8 +221,8 @@ lazy val zio = module("zio") { .settings( description := "zio-http based client for kubernetes", libraryDependencies ++= Seq( - "dev.zio" %% "zio-http" % "3.0.0-RC4", - "dev.zio" %%% "zio-json" % "0.6.2" + "dev.zio" %% "zio-http" % "3.0.1", + "dev.zio" %%% "zio-json" % "0.7.45" ) ) .dependsOn(client, `zio-json`) @@ -229,7 +235,7 @@ lazy val scalacheck = module("scalacheck") { description := "scalacheck generators for kubernetes data models", k8sUnmanagedTarget := rootDir.value / "modules" / "scalacheck" / "src" / "main" / "scala", libraryDependencies ++= Seq( - "org.scalacheck" %%% "scalacheck" % "1.17.1" + "org.scalacheck" %%% "scalacheck" % "1.19.0" ) ) .dependsOn(objects) @@ -309,7 +315,7 @@ lazy val `play-json` = module("play-json") { .settings( description := "play-json codecs for kubernetes data models", libraryDependencies ++= Seq( - ("org.playframework" %%% "play-json" % "3.0.4") + ("org.playframework" %%% "play-json" % "3.0.6") .cross(CrossVersion.for3Use2_13) ) ) @@ -336,7 +342,7 @@ lazy val `zio-json` = module("zio-json") { .settings( description := "zio-json codecs for kubernetes data models", libraryDependencies ++= Seq( - "dev.zio" %%% "zio-json" % "0.6.2" + "dev.zio" %%% "zio-json" % "0.7.21" ) ) .dependsOn(objects) @@ -349,7 +355,7 @@ lazy val jawn = module("jawn") { .settings( description := "jawn facade for kubernetes data models parsing", libraryDependencies ++= Seq( - "org.typelevel" %%% "jawn-parser" % "1.5.1" + "org.typelevel" %%% "jawn-parser" % "1.6.0" ) ) .dependsOn(objects) @@ -361,7 +367,7 @@ lazy val manifests = module("manifests") { .settings( description := "kubernetes manifests utilities", libraryDependencies ++= Seq( - "dev.hnaderi" %%% "yaml4s-backend" % "0.2.2" + "dev.hnaderi" %%% "yaml4s-backend" % "0.3.2" ) ) .dependsOn(objects) @@ -373,7 +379,7 @@ lazy val docs = project .enablePlugins(ScalaK8sWebsite) .settings( libraryDependencies ++= Seq( - "org.http4s" %%% "http4s-circe" % "0.23.30", + "org.http4s" %%% "http4s-circe" % "0.23.33", "com.softwaremill.sttp.client3" %%% "circe" % "3.11.0" ) ) @@ -411,7 +417,7 @@ lazy val exampleJVM = example("jvm") { .crossType(CrossType.Pure) .settings( libraryDependencies ++= Seq( - "org.http4s" %%% "http4s-circe" % "0.23.30", + "org.http4s" %%% "http4s-circe" % "0.23.33", "com.softwaremill.sttp.client3" %%% "circe" % "3.11.0" ) ) @@ -419,11 +425,14 @@ lazy val exampleJVM = example("jvm") { } lazy val exampleCrossPlatform = example("cross-platform") { - crossProject(JVMPlatform, JSPlatform, NativePlatform) + crossProject( + JVMPlatform, + JSPlatform // , NativePlatform + ) .crossType(CrossType.Pure) .settings( libraryDependencies ++= Seq( - "org.http4s" %%% "http4s-circe" % "0.23.30" + "org.http4s" %%% "http4s-circe" % "0.23.33" ) ) .jsSettings( @@ -433,10 +442,10 @@ lazy val exampleCrossPlatform = example("cross-platform") { // scalaJSLinkerConfig ~= { _.withModuleKind(ModuleKind.ESModule) } ) .jsConfigure(_.enablePlugins(ScalaJSBundlerPlugin)) - .nativeSettings( - libraryDependencies += "com.armanbilge" %%% "epollcat" % "0.1.6", - envVars ++= Map("S2N_DONT_MLOCK" -> "1") - ) + // .nativeSettings( + // libraryDependencies += "com.armanbilge" %%% "epollcat" % "0.1.6", + // envVars ++= Map("S2N_DONT_MLOCK" -> "1") + // ) .dependsOn(http4sEmber, circe) } diff --git a/modules/zio/src/main/scala/ZIOBackend.scala b/modules/zio/src/main/scala/ZIOBackend.scala index 153f441c..fc94f0f9 100644 --- a/modules/zio/src/main/scala/ZIOBackend.scala +++ b/modules/zio/src/main/scala/ZIOBackend.scala @@ -112,7 +112,7 @@ final case class ZIOBackend( case Some(value) => qs.updated(k, Chunk(v) ++ value) } } - } yield u.queryParams(qp) + } yield u.setQueryParams(QueryParams(qp)) private def expect[O: Decoder](req: http.Request): ScopedTask[O] = client.request(req).flatMap { res => diff --git a/project/plugins.sbt b/project/plugins.sbt index 7e40ae30..56c5e8f5 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,8 +1,8 @@ -addSbtPlugin("org.typelevel" % "sbt-typelevel" % "0.8.2") -addSbtPlugin("org.typelevel" % "sbt-typelevel-site" % "0.8.2") +addSbtPlugin("org.typelevel" % "sbt-typelevel" % "0.8.3") +addSbtPlugin("org.typelevel" % "sbt-typelevel-site" % "0.8.3") addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.3.2") addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.3.2") -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.16.0") -addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.17") +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.20.1") +addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.5.9") addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.13.1") addSbtPlugin("ch.epfl.scala" % "sbt-scalajs-bundler" % "0.21.1")