From 6b77382decb018ed86d761c4631c5aeecedc4cd0 Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Wed, 12 Jul 2023 09:18:30 -0700 Subject: [PATCH 01/31] Remove more unused plugins --- project/plugins.sbt | 2 -- 1 file changed, 2 deletions(-) diff --git a/project/plugins.sbt b/project/plugins.sbt index 9b6f444b..842689c3 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -5,8 +5,6 @@ ThisBuild / libraryDependencySchemes ++= Seq( addSbtPlugin("org.typelevel" % "sbt-typelevel" % "0.4.20") addSbtPlugin("org.typelevel" % "sbt-typelevel-site" % "0.4.20") -addSbtPlugin("com.typesafe.sbt" % "sbt-site" % "1.4.1") -addSbtPlugin("com.typesafe.sbt" % "sbt-ghpages" % "0.6.3") addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.6.4") addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.7") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.7") From f271cb3148623c80c7ebcd5b3cb06c4cc1d17eba Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Thu, 10 Aug 2023 20:36:50 +0000 Subject: [PATCH 02/31] Update to sbt-typelevel 0.5.0 --- .github/workflows/ci.yml | 263 +++++++++--------- build.sbt | 26 +- .../src/main/scala/net/message/openssl.scala | 3 + .../scala-2/syntax/StringContextOps.scala | 2 +- .../shared/src/main/scala-3/SqlState.scala | 1 - .../src/main/scala-3/util/Twiddler.scala | 1 - .../src/main/scala/codec/TemporalCodecs.scala | 1 + .../src/main/scala/net/message/Bind.scala | 1 - .../src/main/scala/net/message/Execute.scala | 1 - .../src/main/scala/net/message/Parse.scala | 1 - .../net/message/SASLInitialResponse.scala | 1 - .../scala/net/message/StartupMessage.scala | 1 - .../src/main/scala/net/protocol/Close.scala | 1 - .../src/main/scala/net/protocol/Parse.scala | 2 +- .../core/shared/src/main/scala/package.scala | 6 +- project/build.properties | 2 +- project/plugins.sbt | 6 +- 17 files changed, 155 insertions(+), 164 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f4e70fb7..d0674ef6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,56 +15,42 @@ on: tags: [v*] env: - PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} - SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} - SONATYPE_CREDENTIAL_HOST: ${{ secrets.SONATYPE_CREDENTIAL_HOST }} - SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} - PGP_SECRET: ${{ secrets.PGP_SECRET }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +concurrency: + group: ${{ github.workflow }} @ ${{ github.ref }} + cancel-in-progress: true + jobs: build: name: Build and Test strategy: matrix: os: [ubuntu-latest] - scala: [2.12.17, 2.13.10, 3.2.2] + scala: [2.12, 2.13, 3] java: [temurin@11] - project: [rootJS, rootJVM, rootNative] + project: [skunkJS, skunkJVM, skunkNative] runs-on: ${{ matrix.os }} + timeout-minutes: 60 steps: - name: Checkout current branch (full) uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Download Java (temurin@11) - id: download-java-temurin-11 - if: matrix.java == 'temurin@11' - uses: typelevel/download-java@v2 - with: - distribution: temurin - java-version: 11 - - name: Setup Java (temurin@11) + id: setup-java-temurin-11 if: matrix.java == 'temurin@11' uses: actions/setup-java@v3 with: - distribution: jdkfile + distribution: temurin java-version: 11 - jdkFile: ${{ steps.download-java-temurin-11.outputs.jdkFile }} + cache: sbt - - name: Cache sbt - uses: actions/cache@v3 - with: - path: | - ~/.sbt - ~/.ivy2/cache - ~/.coursier/cache/v1 - ~/.cache/coursier/v1 - ~/AppData/Local/Coursier/Cache/v1 - ~/Library/Caches/Coursier/v1 - key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} + - name: sbt update + if: matrix.java == 'temurin@11' && steps.setup-java-temurin-11.outputs.cache-hit == 'false' + run: sbt +update - name: Start up Postgres run: | @@ -73,22 +59,22 @@ jobs: docker-compose up -d - name: Install brew formulae (ubuntu) - if: (matrix.project == 'rootNative') && startsWith(matrix.os, 'ubuntu') + if: (matrix.project == 'skunkNative') && startsWith(matrix.os, 'ubuntu') run: /home/linuxbrew/.linuxbrew/bin/brew install s2n utf8proc - name: Check that workflows are up to date run: sbt githubWorkflowCheck - - name: Check headers and formatting + - name: Check headers if: matrix.java == 'temurin@11' && matrix.os == 'ubuntu-latest' - run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' headerCheckAll scalafmtCheckAll 'project /' scalafmtSbtCheck + run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' headerCheckAll - name: scalaJSLink - if: matrix.project == 'rootJS' + if: matrix.project == 'skunkJS' run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' Test/scalaJSLinkerResult - name: nativeLink - if: matrix.project == 'rootNative' + if: matrix.project == 'skunkNative' run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' Test/nativeLink - name: Test @@ -104,11 +90,11 @@ jobs: - name: Make target directories if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' || github.ref == 'refs/heads/series/0.6.x') - run: mkdir -p modules/circe/.jvm/target target unidocs/target .js/target modules/core/native/target modules/docs/target modules/core/js/target modules/circe/.js/target modules/core/jvm/target modules/tests/js/target modules/refined/.native/target .jvm/target .native/target modules/refined/.js/target modules/refined/.jvm/target modules/circe/.native/target modules/tests/jvm/target modules/example/target modules/tests/native/target project/target + run: mkdir -p modules/circe/.jvm/target unidocs/target modules/core/native/target modules/core/js/target modules/circe/.js/target modules/core/jvm/target modules/refined/.native/target modules/refined/.js/target modules/refined/.jvm/target modules/circe/.native/target project/target - name: Compress target directories if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' || github.ref == 'refs/heads/series/0.6.x') - run: tar cf targets.tar modules/circe/.jvm/target target unidocs/target .js/target modules/core/native/target modules/docs/target modules/core/js/target modules/circe/.js/target modules/core/jvm/target modules/tests/js/target modules/refined/.native/target .jvm/target .native/target modules/refined/.js/target modules/refined/.jvm/target modules/circe/.native/target modules/tests/jvm/target modules/example/target modules/tests/native/target project/target + run: tar cf targets.tar modules/circe/.jvm/target unidocs/target modules/core/native/target modules/core/js/target modules/circe/.js/target modules/core/jvm/target modules/refined/.native/target modules/refined/.js/target modules/refined/.jvm/target modules/circe/.native/target project/target - name: Upload target directories if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' || github.ref == 'refs/heads/series/0.6.x') @@ -124,7 +110,6 @@ jobs: strategy: matrix: os: [ubuntu-latest] - scala: [2.13.10] java: [temurin@11] runs-on: ${{ matrix.os }} steps: @@ -133,33 +118,18 @@ jobs: with: fetch-depth: 0 - - name: Download Java (temurin@11) - id: download-java-temurin-11 - if: matrix.java == 'temurin@11' - uses: typelevel/download-java@v2 - with: - distribution: temurin - java-version: 11 - - name: Setup Java (temurin@11) + id: setup-java-temurin-11 if: matrix.java == 'temurin@11' uses: actions/setup-java@v3 with: - distribution: jdkfile + distribution: temurin java-version: 11 - jdkFile: ${{ steps.download-java-temurin-11.outputs.jdkFile }} + cache: sbt - - name: Cache sbt - uses: actions/cache@v3 - with: - path: | - ~/.sbt - ~/.ivy2/cache - ~/.coursier/cache/v1 - ~/.cache/coursier/v1 - ~/AppData/Local/Coursier/Cache/v1 - ~/Library/Caches/Coursier/v1 - key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} + - name: sbt update + if: matrix.java == 'temurin@11' && steps.setup-java-temurin-11.outputs.cache-hit == 'false' + run: sbt +update - name: Start up Postgres run: | @@ -167,116 +137,126 @@ jobs: export SERVER_CERT=$(cat world/server.crt) docker-compose up -d - - name: Download target directories (2.12.17, rootJS) + - name: Download target directories (2.12, skunkJS) uses: actions/download-artifact@v3 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-2.12.17-rootJS + name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-skunkJS - - name: Inflate target directories (2.12.17, rootJS) + - name: Inflate target directories (2.12, skunkJS) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (2.12.17, rootJVM) + - name: Download target directories (2.12, skunkJVM) uses: actions/download-artifact@v3 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-2.12.17-rootJVM + name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-skunkJVM - - name: Inflate target directories (2.12.17, rootJVM) + - name: Inflate target directories (2.12, skunkJVM) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (2.12.17, rootNative) + - name: Download target directories (2.12, skunkNative) uses: actions/download-artifact@v3 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-2.12.17-rootNative + name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-skunkNative - - name: Inflate target directories (2.12.17, rootNative) + - name: Inflate target directories (2.12, skunkNative) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (2.13.10, rootJS) + - name: Download target directories (2.13, skunkJS) uses: actions/download-artifact@v3 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.10-rootJS + name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-skunkJS - - name: Inflate target directories (2.13.10, rootJS) + - name: Inflate target directories (2.13, skunkJS) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (2.13.10, rootJVM) + - name: Download target directories (2.13, skunkJVM) uses: actions/download-artifact@v3 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.10-rootJVM + name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-skunkJVM - - name: Inflate target directories (2.13.10, rootJVM) + - name: Inflate target directories (2.13, skunkJVM) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (2.13.10, rootNative) + - name: Download target directories (2.13, skunkNative) uses: actions/download-artifact@v3 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.10-rootNative + name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-skunkNative - - name: Inflate target directories (2.13.10, rootNative) + - name: Inflate target directories (2.13, skunkNative) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (3.2.2, rootJS) + - name: Download target directories (3, skunkJS) uses: actions/download-artifact@v3 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-3.2.2-rootJS + name: target-${{ matrix.os }}-${{ matrix.java }}-3-skunkJS - - name: Inflate target directories (3.2.2, rootJS) + - name: Inflate target directories (3, skunkJS) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (3.2.2, rootJVM) + - name: Download target directories (3, skunkJVM) uses: actions/download-artifact@v3 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-3.2.2-rootJVM + name: target-${{ matrix.os }}-${{ matrix.java }}-3-skunkJVM - - name: Inflate target directories (3.2.2, rootJVM) + - name: Inflate target directories (3, skunkJVM) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (3.2.2, rootNative) + - name: Download target directories (3, skunkNative) uses: actions/download-artifact@v3 with: - name: target-${{ matrix.os }}-${{ matrix.java }}-3.2.2-rootNative + name: target-${{ matrix.os }}-${{ matrix.java }}-3-skunkNative - - name: Inflate target directories (3.2.2, rootNative) + - name: Inflate target directories (3, skunkNative) run: | tar xf targets.tar rm targets.tar - name: Import signing key if: env.PGP_SECRET != '' && env.PGP_PASSPHRASE == '' + env: + PGP_SECRET: ${{ secrets.PGP_SECRET }} + PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} run: echo $PGP_SECRET | base64 -di | gpg --import - name: Import signing key and strip passphrase if: env.PGP_SECRET != '' && env.PGP_PASSPHRASE != '' + env: + PGP_SECRET: ${{ secrets.PGP_SECRET }} + PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} run: | echo "$PGP_SECRET" | base64 -di > /tmp/signing-key.gpg echo "$PGP_PASSPHRASE" | gpg --pinentry-mode loopback --passphrase-fd 0 --import /tmp/signing-key.gpg (echo "$PGP_PASSPHRASE"; echo; echo) | gpg --command-fd 0 --pinentry-mode loopback --change-passphrase $(gpg --list-secret-keys --with-colons 2> /dev/null | grep '^sec:' | cut --delimiter ':' --fields 5 | tail -n 1) - name: Publish - run: sbt '++ ${{ matrix.scala }}' tlCiRelease - - coverage: - name: Generate coverage report (2.13.10 JVM only) + env: + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + SONATYPE_CREDENTIAL_HOST: ${{ secrets.SONATYPE_CREDENTIAL_HOST }} + run: sbt tlCiRelease + + dependency-submission: + name: Submit Dependencies + if: github.event_name != 'pull_request' strategy: matrix: os: [ubuntu-latest] - scala: [2.13.10] java: [temurin@11] runs-on: ${{ matrix.os }} steps: @@ -285,33 +265,18 @@ jobs: with: fetch-depth: 0 - - name: Download Java (temurin@11) - id: download-java-temurin-11 - if: matrix.java == 'temurin@11' - uses: typelevel/download-java@v2 - with: - distribution: temurin - java-version: 11 - - name: Setup Java (temurin@11) + id: setup-java-temurin-11 if: matrix.java == 'temurin@11' uses: actions/setup-java@v3 with: - distribution: jdkfile + distribution: temurin java-version: 11 - jdkFile: ${{ steps.download-java-temurin-11.outputs.jdkFile }} + cache: sbt - - name: Cache sbt - uses: actions/cache@v3 - with: - path: | - ~/.sbt - ~/.ivy2/cache - ~/.coursier/cache/v1 - ~/.cache/coursier/v1 - ~/AppData/Local/Coursier/Cache/v1 - ~/Library/Caches/Coursier/v1 - key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} + - name: sbt update + if: matrix.java == 'temurin@11' && steps.setup-java-temurin-11.outputs.cache-hit == 'false' + run: sbt +update - name: Start up Postgres run: | @@ -319,17 +284,17 @@ jobs: export SERVER_CERT=$(cat world/server.crt) docker-compose up -d - - run: sbt '++ ${{ matrix.scala }}' coverage rootJVM/test coverageReport - - - name: Upload code coverage data - run: 'bash <(curl -s https://codecov.io/bash)' + - name: Submit Dependencies + uses: scalacenter/sbt-dependency-submission@v2 + with: + modules-ignore: skunk_2.12 skunk_2.13 skunk_3 docs_2.12 docs_2.13 docs_3 skunk_2.12 skunk_2.13 skunk_3 skunk_2.12 skunk_2.13 skunk_3 tests_sjs1_2.12 tests_sjs1_2.13 tests_sjs1_3 tests_2.12 tests_2.13 tests_3 example_2.12 example_2.13 example_3 tests_native0.4_2.12 tests_native0.4_2.13 tests_native0.4_3 + configs-ignore: test scala-tool scala-doc-tool test-internal site: name: Generate Site strategy: matrix: os: [ubuntu-latest] - scala: [2.13.10] java: [temurin@11] runs-on: ${{ matrix.os }} steps: @@ -338,33 +303,18 @@ jobs: with: fetch-depth: 0 - - name: Download Java (temurin@11) - id: download-java-temurin-11 - if: matrix.java == 'temurin@11' - uses: typelevel/download-java@v2 - with: - distribution: temurin - java-version: 11 - - name: Setup Java (temurin@11) + id: setup-java-temurin-11 if: matrix.java == 'temurin@11' uses: actions/setup-java@v3 with: - distribution: jdkfile + distribution: temurin java-version: 11 - jdkFile: ${{ steps.download-java-temurin-11.outputs.jdkFile }} + cache: sbt - - name: Cache sbt - uses: actions/cache@v3 - with: - path: | - ~/.sbt - ~/.ivy2/cache - ~/.coursier/cache/v1 - ~/.cache/coursier/v1 - ~/AppData/Local/Coursier/Cache/v1 - ~/Library/Caches/Coursier/v1 - key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} + - name: sbt update + if: matrix.java == 'temurin@11' && steps.setup-java-temurin-11.outputs.cache-hit == 'false' + run: sbt +update - name: Start up Postgres run: | @@ -373,12 +323,49 @@ jobs: docker-compose up -d - name: Generate site - run: sbt '++ ${{ matrix.scala }}' docs/tlSite + run: sbt docs/tlSite - name: Publish site if: github.event_name != 'pull_request' && github.ref == 'refs/heads/series/0.6.x' - uses: peaceiris/actions-gh-pages@v3.9.0 + uses: peaceiris/actions-gh-pages@v3.9.3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: modules/docs/target/docs/site keep_files: true + + coverage: + name: Generate coverage report (2.13 JVM only) + strategy: + matrix: + os: [ubuntu-latest] + scala: [2.13.10] + java: [temurin@11] + runs-on: ${{ matrix.os }} + steps: + - name: Checkout current branch (full) + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup Java (temurin@11) + id: setup-java-temurin-11 + if: matrix.java == 'temurin@11' + uses: actions/setup-java@v3 + with: + distribution: temurin + java-version: 11 + cache: sbt + + - name: sbt update + if: matrix.java == 'temurin@11' && steps.setup-java-temurin-11.outputs.cache-hit == 'false' + run: sbt +update + + - name: Start up Postgres + run: | + export SERVER_KEY=$(cat world/server.key) + export SERVER_CERT=$(cat world/server.crt) + docker-compose up -d + + - run: sbt '++ ${{ matrix.scala }}' coverage skunkJVM/test coverageReport + + - uses: codecov/codecov-action@v3 diff --git a/build.sbt b/build.sbt index c563d46b..601364d4 100644 --- a/build.sbt +++ b/build.sbt @@ -3,7 +3,7 @@ ThisBuild / tlBaseVersion := "0.6" // Our Scala versions. lazy val `scala-2.12` = "2.12.17" lazy val `scala-2.13` = "2.13.10" -lazy val `scala-3.0` = "3.2.2" +lazy val `scala-3.0` = "3.3.0" ThisBuild / scalaVersion := `scala-2.13` ThisBuild / crossScalaVersions := @@ -16,6 +16,7 @@ ThisBuild / developers := List( ) ThisBuild / tlCiReleaseBranches += "series/0.6.x" +ThisBuild / tlCiScalafmtCheck := false ThisBuild / tlSitePublishBranch := Some("series/0.6.x") ThisBuild / tlSonatypeUseLegacyHost := false ThisBuild / githubWorkflowOSes := Seq("ubuntu-latest") @@ -23,7 +24,7 @@ ThisBuild / githubWorkflowJavaVersions := Seq(JavaSpec.temurin("11")) ThisBuild / tlJdkRelease := Some(8) ThisBuild / githubWorkflowBuildPreamble ++= nativeBrewInstallWorkflowSteps.value -ThisBuild / nativeBrewInstallCond := Some("matrix.project == 'rootNative'") +ThisBuild / nativeBrewInstallCond := Some("matrix.project == 'skunkNative'") lazy val setupCertAndDocker = Seq( WorkflowStep.Run( @@ -38,15 +39,12 @@ ThisBuild / tlCiHeaderCheck := true ThisBuild / githubWorkflowAddedJobs += WorkflowJob( id = "coverage", - name = s"Generate coverage report (${`scala-2.13`} JVM only)", + name = s"Generate coverage report (2.13 JVM only)", scalas = List(`scala-2.13`), steps = githubWorkflowJobSetup.value.toList ++ List( - WorkflowStep.Sbt(List("coverage", "rootJVM/test", "coverageReport")), - WorkflowStep.Run( - List("bash <(curl -s https://codecov.io/bash)"), - name = Some("Upload code coverage data") - ) + WorkflowStep.Sbt(List("coverage", "skunkJVM/test", "coverageReport")), + WorkflowStep.Use(UseRef.Public("codecov", "codecov-action", "v3")) ) ) @@ -83,7 +81,7 @@ lazy val commonSettings = Seq( // Compilation scalacOptions -= "-language:experimental.macros", // doesn't work cross-version - Compile / doc / scalacOptions --= Seq("-Xfatal-warnings"), + Compile / doc / scalacOptions --= Seq("-Werror"), Compile / doc / scalacOptions ++= Seq( "-groups", "-sourcepath", (LocalRootProject / baseDirectory).value.getAbsolutePath, @@ -110,7 +108,6 @@ lazy val core = crossProject(JVMPlatform, JSPlatform, NativePlatform) .settings( name := "skunk-core", description := "Tagless, non-blocking data access library for Postgres.", - scalacOptions ~= (_.filterNot(_ == "-source:3.0-migration")), libraryDependencies ++= Seq( "org.typelevel" %%% "cats-core" % "2.9.0", "org.typelevel" %%% "cats-effect" % "3.5.0", @@ -170,7 +167,7 @@ lazy val tests = crossProject(JVMPlatform, JSPlatform, NativePlatform) .enablePlugins(AutomateHeaderPlugin, NoPublishPlugin) .settings(commonSettings) .settings( - scalacOptions -= "-Xfatal-warnings", + tlFatalWarnings := false, libraryDependencies ++= Seq( "org.scalameta" %%% "munit" % "1.0.0-M7", "org.scalameta" % "junit-interface" % "1.0.0-M7", @@ -233,7 +230,14 @@ lazy val docs = project .enablePlugins(TypelevelSitePlugin) .settings(commonSettings) .settings( + scalacOptions ~= { + _.map { + case opt if opt.startsWith("-Xlint") => s"$opt,-missing-interpolator" + case opt => opt + } + }, mdocIn := (Compile / sourceDirectory).value / "laika", + tlSiteIsTypelevelProject := Some(TypelevelProject.Affiliate), libraryDependencies ++= Seq( "org.tpolecat" %%% "natchez-jaeger" % natchezVersion, ), diff --git a/modules/core/native/src/main/scala/net/message/openssl.scala b/modules/core/native/src/main/scala/net/message/openssl.scala index 4efc9273..f5a03d7e 100644 --- a/modules/core/native/src/main/scala/net/message/openssl.scala +++ b/modules/core/native/src/main/scala/net/message/openssl.scala @@ -4,8 +4,11 @@ package skunk.net.message +import org.typelevel.scalaccompat.annotation._ + import scala.scalanative.unsafe._ +@nowarn212 @link("crypto") @extern private[message] object openssl { diff --git a/modules/core/shared/src/main/scala-2/syntax/StringContextOps.scala b/modules/core/shared/src/main/scala-2/syntax/StringContextOps.scala index 4c51f88a..b775256f 100644 --- a/modules/core/shared/src/main/scala-2/syntax/StringContextOps.scala +++ b/modules/core/shared/src/main/scala-2/syntax/StringContextOps.scala @@ -149,7 +149,7 @@ object StringContextOps { } def identifier_impl(): Tree = { - val Apply(_, List(Apply(_, List(Literal(Constant(part: String)))))) = c.prefix.tree + val Apply(_, List(Apply(_, List(Literal(Constant(part: String)))))) = c.prefix.tree: @unchecked Identifier.fromString(part) match { case Left(s) => c.abort(c.enclosingPosition, s) case Right(Identifier(s)) => q"_root_.skunk.data.Identifier.fromString($s).fold(sys.error, identity)" diff --git a/modules/core/shared/src/main/scala-3/SqlState.scala b/modules/core/shared/src/main/scala-3/SqlState.scala index 70a0b974..e6eb4df5 100644 --- a/modules/core/shared/src/main/scala-3/SqlState.scala +++ b/modules/core/shared/src/main/scala-3/SqlState.scala @@ -4,7 +4,6 @@ package skunk -import scala.collection.immutable.IndexedSeq import skunk.exception.PostgresErrorException /** diff --git a/modules/core/shared/src/main/scala-3/util/Twiddler.scala b/modules/core/shared/src/main/scala-3/util/Twiddler.scala index b905fb92..cc18342a 100644 --- a/modules/core/shared/src/main/scala-3/util/Twiddler.scala +++ b/modules/core/shared/src/main/scala-3/util/Twiddler.scala @@ -6,7 +6,6 @@ package skunk package util import scala.annotation.implicitNotFound -import scala.quoted._ import scala.deriving.Mirror import skunk.implicits._ diff --git a/modules/core/shared/src/main/scala/codec/TemporalCodecs.scala b/modules/core/shared/src/main/scala/codec/TemporalCodecs.scala index 99ddfdf2..a9f8b207 100644 --- a/modules/core/shared/src/main/scala/codec/TemporalCodecs.scala +++ b/modules/core/shared/src/main/scala/codec/TemporalCodecs.scala @@ -49,6 +49,7 @@ trait TemporalCodecs { .optionalStart .appendFraction(NANO_OF_SECOND, 0, precision, true) .optionalEnd + () } requiredPart.toFormatter(Locale.US) diff --git a/modules/core/shared/src/main/scala/net/message/Bind.scala b/modules/core/shared/src/main/scala/net/message/Bind.scala index 2231da3c..aecb9fab 100644 --- a/modules/core/shared/src/main/scala/net/message/Bind.scala +++ b/modules/core/shared/src/main/scala/net/message/Bind.scala @@ -5,7 +5,6 @@ package skunk.net.message import cats.syntax.all._ -import scodec.interop.cats._ import scodec._ import scodec.codecs._ diff --git a/modules/core/shared/src/main/scala/net/message/Execute.scala b/modules/core/shared/src/main/scala/net/message/Execute.scala index 59b402be..a6bc54cd 100644 --- a/modules/core/shared/src/main/scala/net/message/Execute.scala +++ b/modules/core/shared/src/main/scala/net/message/Execute.scala @@ -5,7 +5,6 @@ package skunk.net.message import cats.syntax.all._ -import scodec.interop.cats._ import scodec.codecs._ import scodec.Encoder diff --git a/modules/core/shared/src/main/scala/net/message/Parse.scala b/modules/core/shared/src/main/scala/net/message/Parse.scala index 50f8737a..1137cb92 100644 --- a/modules/core/shared/src/main/scala/net/message/Parse.scala +++ b/modules/core/shared/src/main/scala/net/message/Parse.scala @@ -5,7 +5,6 @@ package skunk.net.message import cats.syntax.all._ -import scodec.interop.cats._ import scodec.codecs._ import scodec.Encoder diff --git a/modules/core/shared/src/main/scala/net/message/SASLInitialResponse.scala b/modules/core/shared/src/main/scala/net/message/SASLInitialResponse.scala index 76b1e58a..2a3b56f9 100644 --- a/modules/core/shared/src/main/scala/net/message/SASLInitialResponse.scala +++ b/modules/core/shared/src/main/scala/net/message/SASLInitialResponse.scala @@ -5,7 +5,6 @@ package skunk.net.message import cats.syntax.all._ -import scodec.interop.cats._ import scodec.Encoder import scodec.bits.ByteVector import scodec.codecs.{bytes, int32, variableSizeBytes} diff --git a/modules/core/shared/src/main/scala/net/message/StartupMessage.scala b/modules/core/shared/src/main/scala/net/message/StartupMessage.scala index ae9a2af7..74df2492 100644 --- a/modules/core/shared/src/main/scala/net/message/StartupMessage.scala +++ b/modules/core/shared/src/main/scala/net/message/StartupMessage.scala @@ -5,7 +5,6 @@ package skunk.net.message import cats.syntax.all._ -import scodec.interop.cats._ import scodec._ import scodec.codecs._ diff --git a/modules/core/shared/src/main/scala/net/protocol/Close.scala b/modules/core/shared/src/main/scala/net/protocol/Close.scala index 573f3758..eb9f324a 100644 --- a/modules/core/shared/src/main/scala/net/protocol/Close.scala +++ b/modules/core/shared/src/main/scala/net/protocol/Close.scala @@ -8,7 +8,6 @@ package protocol import cats.FlatMap import cats.syntax.all._ import skunk.net.message.{ Close => CloseMessage, Flush, CloseComplete } -import skunk.net.MessageSocket import natchez.Trace trait Close[F[_]] { diff --git a/modules/core/shared/src/main/scala/net/protocol/Parse.scala b/modules/core/shared/src/main/scala/net/protocol/Parse.scala index 3ff2aea7..bfa56d94 100644 --- a/modules/core/shared/src/main/scala/net/protocol/Parse.scala +++ b/modules/core/shared/src/main/scala/net/protocol/Parse.scala @@ -43,7 +43,7 @@ object Parse { _ <- Trace[F].put( "statement-name" -> id.value, "statement-sql" -> statement.sql, - "statement-parameter-types" -> os.map(n => ty.typeForOid(n, -1).getOrElse(n)).mkString("[", ", ", "]") + "statement-parameter-types" -> os.map(n => ty.typeForOid(n, -1).fold(n.toString)(_.toString)).mkString("[", ", ", "]") ) _ <- send(ParseMessage(id.value, statement.sql, os)) _ <- send(Flush) diff --git a/modules/core/shared/src/main/scala/package.scala b/modules/core/shared/src/main/scala/package.scala index 649b2ff2..c23e2129 100644 --- a/modules/core/shared/src/main/scala/package.scala +++ b/modules/core/shared/src/main/scala/package.scala @@ -2,7 +2,10 @@ // This software is licensed under the MIT License (MIT). // For more information see LICENSE or https://opensource.org/licenses/MIT +package skunk + import cats.effect.Resource +import org.typelevel.scalaccompat.annotation._ import org.typelevel.twiddles.TwiddleCompat /** @@ -123,7 +126,8 @@ import org.typelevel.twiddles.TwiddleCompat * @groupname Companions Companion Objects * @groupprio Companions 999 */ -package object skunk extends TwiddleCompat { +@nowarn213("msg=package object inheritance is deprecated") +object `package` extends TwiddleCompat { // aka package object skunk, yes this actually works ... // we can use this to defeat value discarding warnings for erasable proof terms private[skunk] def void(a: Any*): Unit = (a, ())._2 diff --git a/project/build.properties b/project/build.properties index 46e43a97..52413ab7 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.8.2 +sbt.version=1.9.3 diff --git a/project/plugins.sbt b/project/plugins.sbt index 842689c3..061bfeee 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -3,12 +3,12 @@ ThisBuild / libraryDependencySchemes ++= Seq( "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always ) -addSbtPlugin("org.typelevel" % "sbt-typelevel" % "0.4.20") -addSbtPlugin("org.typelevel" % "sbt-typelevel-site" % "0.4.20") +addSbtPlugin("org.typelevel" % "sbt-typelevel" % "0.5.0-RC11") +addSbtPlugin("org.typelevel" % "sbt-typelevel-site" % "0.5.0-RC11") addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.6.4") addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.7") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.7") addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.13.1") addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.12") addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.3.1") -addSbtPlugin("com.armanbilge" % "sbt-scala-native-config-brew-github-actions" % "0.1.3") +addSbtPlugin("com.armanbilge" % "sbt-scala-native-config-brew-github-actions" % "0.2.0-RC1") From 7dcb8af04439f2f8bc6120320e8794cda862ce75 Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 16:57:17 +0000 Subject: [PATCH 03/31] Update fs2-core, fs2-io to 3.8.0 in series/0.6.x --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 601364d4..2687d899 100644 --- a/build.sbt +++ b/build.sbt @@ -59,7 +59,7 @@ ThisBuild / mimaBinaryIssueFilters ++= List( ) // This is used in a couple places -lazy val fs2Version = "3.7.0" +lazy val fs2Version = "3.8.0" lazy val natchezVersion = "0.3.1" // Global Settings From 7a2444ebf69547ee5c6bf1fe615796e607093c1a Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 16:57:29 +0000 Subject: [PATCH 04/31] Update epollcat to 0.1.5 in series/0.6.x --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 601364d4..c7bbd1a5 100644 --- a/build.sbt +++ b/build.sbt @@ -191,7 +191,7 @@ lazy val tests = crossProject(JVMPlatform, JSPlatform, NativePlatform) ) .nativeEnablePlugins(ScalaNativeBrewedConfigPlugin) .nativeSettings( - libraryDependencies += "com.armanbilge" %%% "epollcat" % "0.1.4", + libraryDependencies += "com.armanbilge" %%% "epollcat" % "0.1.5", Test / nativeBrewFormulas ++= Set("s2n", "utf8proc"), Test / envVars ++= Map("S2N_DONT_MLOCK" -> "1") ) From 83841ff1cfd8bc97348d68d68949fd984d8cdf56 Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 16:57:40 +0000 Subject: [PATCH 05/31] Update enumeratum to 1.7.3 in series/0.6.x --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 601364d4..20d460d6 100644 --- a/build.sbt +++ b/build.sbt @@ -121,7 +121,7 @@ lazy val core = crossProject(JVMPlatform, JSPlatform, NativePlatform) "org.scala-lang.modules" %%% "scala-collection-compat" % "2.10.0", "org.typelevel" %%% "twiddles-core" % "0.6.0", ) ++ Seq( - "com.beachape" %%% "enumeratum" % "1.7.2", + "com.beachape" %%% "enumeratum" % "1.7.3", ).filterNot(_ => tlIsScala3.value) ).jvmSettings( libraryDependencies += "com.ongres.scram" % "client" % "2.1", From 9b9d3ca83686c00512f74d852d0d33337987f44d Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 16:58:04 +0000 Subject: [PATCH 06/31] Update sbt-scala-native-crossproject to 1.3.2 in series/0.6.x --- project/plugins.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/plugins.sbt b/project/plugins.sbt index 061bfeee..ad34df62 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -10,5 +10,5 @@ addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.7") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.7") addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.13.1") addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.12") -addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.3.1") +addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.3.2") addSbtPlugin("com.armanbilge" % "sbt-scala-native-config-brew-github-actions" % "0.2.0-RC1") From 1cb45141f127ca930254cfa78122c9b424969e1a Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 16:58:14 +0000 Subject: [PATCH 07/31] Update sbt-scalajs to 1.13.2 in series/0.6.x --- project/plugins.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/plugins.sbt b/project/plugins.sbt index 061bfeee..767dcf5e 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -8,7 +8,7 @@ addSbtPlugin("org.typelevel" % "sbt-typelevel-site" % "0.5.0-RC11") addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.6.4") addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.7") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.7") -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.13.1") +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.13.2") addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.12") addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.3.1") addSbtPlugin("com.armanbilge" % "sbt-scala-native-config-brew-github-actions" % "0.2.0-RC1") From c43941b7ffef58ef80eb4967c180191bea6a48e2 Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 16:58:26 +0000 Subject: [PATCH 08/31] Update scala-library to 2.12.18 in series/0.6.x --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 601364d4..c12bb908 100644 --- a/build.sbt +++ b/build.sbt @@ -1,7 +1,7 @@ ThisBuild / tlBaseVersion := "0.6" // Our Scala versions. -lazy val `scala-2.12` = "2.12.17" +lazy val `scala-2.12` = "2.12.18" lazy val `scala-2.13` = "2.13.10" lazy val `scala-3.0` = "3.3.0" From 667e05f0ec1982aedc66d2645c6e3558492da2cc Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Wed, 16 Aug 2023 09:58:44 -0700 Subject: [PATCH 09/31] Remove unused dep --- project/plugins.sbt | 1 - 1 file changed, 1 deletion(-) diff --git a/project/plugins.sbt b/project/plugins.sbt index ad34df62..8e499ea2 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -10,5 +10,4 @@ addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.7") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.7") addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.13.1") addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.12") -addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.3.2") addSbtPlugin("com.armanbilge" % "sbt-scala-native-config-brew-github-actions" % "0.2.0-RC1") From e54f7dbf97e1b0a81968c26293a42b4740cb16b0 Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 16:59:08 +0000 Subject: [PATCH 10/31] Update scala-library to 2.13.11 in series/0.6.x --- .github/workflows/ci.yml | 2 +- build.sbt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d0674ef6..a5b3fcc1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -338,7 +338,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - scala: [2.13.10] + scala: [2.13.11] java: [temurin@11] runs-on: ${{ matrix.os }} steps: diff --git a/build.sbt b/build.sbt index 601364d4..c92d0580 100644 --- a/build.sbt +++ b/build.sbt @@ -2,7 +2,7 @@ ThisBuild / tlBaseVersion := "0.6" // Our Scala versions. lazy val `scala-2.12` = "2.12.17" -lazy val `scala-2.13` = "2.13.10" +lazy val `scala-2.13` = "2.13.11" lazy val `scala-3.0` = "3.3.0" ThisBuild / scalaVersion := `scala-2.13` From 2af3d66612933920a97e702aa140044175117b1d Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 16:59:41 +0000 Subject: [PATCH 11/31] Update scala-collection-compat to 2.11.0 in series/0.6.x --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 601364d4..ca5cfca8 100644 --- a/build.sbt +++ b/build.sbt @@ -118,7 +118,7 @@ lazy val core = crossProject(JVMPlatform, JSPlatform, NativePlatform) "org.scodec" %%% "scodec-cats" % "1.2.0", "org.tpolecat" %%% "natchez-core" % natchezVersion, "org.tpolecat" %%% "sourcepos" % "1.1.0", - "org.scala-lang.modules" %%% "scala-collection-compat" % "2.10.0", + "org.scala-lang.modules" %%% "scala-collection-compat" % "2.11.0", "org.typelevel" %%% "twiddles-core" % "0.6.0", ) ++ Seq( "com.beachape" %%% "enumeratum" % "1.7.2", From 7078d39db549e83a4a894ba32ee8ce16c1b75373 Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 16:59:53 +0000 Subject: [PATCH 12/31] Update sbt-scala-native to 0.4.14 in series/0.6.x --- project/plugins.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/plugins.sbt b/project/plugins.sbt index 061bfeee..ae0924f3 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -9,6 +9,6 @@ addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.6.4") addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.7") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.7") addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.13.1") -addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.12") +addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.14") addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.3.1") addSbtPlugin("com.armanbilge" % "sbt-scala-native-config-brew-github-actions" % "0.2.0-RC1") From 90e591937166aa02e45ae4cff19165a1181c4588 Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:00:03 +0000 Subject: [PATCH 13/31] Update junit-interface, munit to 1.0.0-M8 in series/0.6.x --- build.sbt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index 601364d4..50ebe978 100644 --- a/build.sbt +++ b/build.sbt @@ -169,8 +169,8 @@ lazy val tests = crossProject(JVMPlatform, JSPlatform, NativePlatform) .settings( tlFatalWarnings := false, libraryDependencies ++= Seq( - "org.scalameta" %%% "munit" % "1.0.0-M7", - "org.scalameta" % "junit-interface" % "1.0.0-M7", + "org.scalameta" %%% "munit" % "1.0.0-M8", + "org.scalameta" % "junit-interface" % "1.0.0-M8", "org.typelevel" %%% "scalacheck-effect-munit" % "2.0.0-M2", "org.typelevel" %%% "munit-cats-effect" % "2.0.0-M3", "org.typelevel" %%% "cats-free" % "2.9.0", From f0ad30afe9ec054ca1f112ca298de81c865d25da Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:00:13 +0000 Subject: [PATCH 14/31] Update scalafmt-core to 3.7.12 in series/0.6.x --- .scalafmt.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.scalafmt.conf b/.scalafmt.conf index b9797fee..ea53a263 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -1,3 +1,3 @@ -version = "3.7.3" +version = "3.7.12" runner.dialect = Scala213Source3 project.includePaths = [] # disables formatting From 4047661eb60f38514fe0fb27e0ad4e7f56829ad7 Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:00:26 +0000 Subject: [PATCH 15/31] Update sbt-scoverage to 2.0.8 in series/0.6.x --- project/plugins.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/plugins.sbt b/project/plugins.sbt index 061bfeee..c27cd41e 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -7,7 +7,7 @@ addSbtPlugin("org.typelevel" % "sbt-typelevel" % "0.5.0-RC11") addSbtPlugin("org.typelevel" % "sbt-typelevel-site" % "0.5.0-RC11") addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.6.4") addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.7") -addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.7") +addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.8") addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.13.1") addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.12") addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.3.1") From 4ca361e69b36b107ad294f00aedf48dca1d43a74 Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:00:46 +0000 Subject: [PATCH 16/31] Update natchez-core, natchez-honeycomb, ... to 0.3.3 in series/0.6.x --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 601364d4..b421ceb5 100644 --- a/build.sbt +++ b/build.sbt @@ -60,7 +60,7 @@ ThisBuild / mimaBinaryIssueFilters ++= List( // This is used in a couple places lazy val fs2Version = "3.7.0" -lazy val natchezVersion = "0.3.1" +lazy val natchezVersion = "0.3.3" // Global Settings lazy val commonSettings = Seq( From 79f2b2ef5cee5aa5828ba53340d5680c7cb888d7 Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:00:58 +0000 Subject: [PATCH 17/31] Update cats-core, cats-free, cats-laws to 2.10.0 in series/0.6.x --- build.sbt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build.sbt b/build.sbt index 601364d4..c7c29903 100644 --- a/build.sbt +++ b/build.sbt @@ -109,7 +109,7 @@ lazy val core = crossProject(JVMPlatform, JSPlatform, NativePlatform) name := "skunk-core", description := "Tagless, non-blocking data access library for Postgres.", libraryDependencies ++= Seq( - "org.typelevel" %%% "cats-core" % "2.9.0", + "org.typelevel" %%% "cats-core" % "2.10.0", "org.typelevel" %%% "cats-effect" % "3.5.0", "co.fs2" %%% "fs2-core" % fs2Version, "co.fs2" %%% "fs2-io" % fs2Version, @@ -173,8 +173,8 @@ lazy val tests = crossProject(JVMPlatform, JSPlatform, NativePlatform) "org.scalameta" % "junit-interface" % "1.0.0-M7", "org.typelevel" %%% "scalacheck-effect-munit" % "2.0.0-M2", "org.typelevel" %%% "munit-cats-effect" % "2.0.0-M3", - "org.typelevel" %%% "cats-free" % "2.9.0", - "org.typelevel" %%% "cats-laws" % "2.9.0", + "org.typelevel" %%% "cats-free" % "2.10.0", + "org.typelevel" %%% "cats-laws" % "2.10.0", "org.typelevel" %%% "discipline-munit" % "2.0.0-M3", "org.typelevel" %%% "cats-time" % "0.5.1", ), From de270b29870a588a6b25e04f30fcf68da9fea773 Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:01:09 +0000 Subject: [PATCH 18/31] Update cats-effect to 3.5.1 in series/0.6.x --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 601364d4..f8f0490e 100644 --- a/build.sbt +++ b/build.sbt @@ -110,7 +110,7 @@ lazy val core = crossProject(JVMPlatform, JSPlatform, NativePlatform) description := "Tagless, non-blocking data access library for Postgres.", libraryDependencies ++= Seq( "org.typelevel" %%% "cats-core" % "2.9.0", - "org.typelevel" %%% "cats-effect" % "3.5.0", + "org.typelevel" %%% "cats-effect" % "3.5.1", "co.fs2" %%% "fs2-core" % fs2Version, "co.fs2" %%% "fs2-io" % fs2Version, "org.scodec" %%% "scodec-bits" % "1.1.37", From 0a28440cf79554b974bf3d74b589a4dcab24d236 Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:01:20 +0000 Subject: [PATCH 19/31] Update sbt-typelevel, sbt-typelevel-site to 0.5.0-RC12 in series/0.6.x --- project/plugins.sbt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/project/plugins.sbt b/project/plugins.sbt index 061bfeee..954d1e77 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -3,8 +3,8 @@ ThisBuild / libraryDependencySchemes ++= Seq( "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always ) -addSbtPlugin("org.typelevel" % "sbt-typelevel" % "0.5.0-RC11") -addSbtPlugin("org.typelevel" % "sbt-typelevel-site" % "0.5.0-RC11") +addSbtPlugin("org.typelevel" % "sbt-typelevel" % "0.5.0-RC12") +addSbtPlugin("org.typelevel" % "sbt-typelevel-site" % "0.5.0-RC12") addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.6.4") addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.7") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.7") From 4451a5e3f04dc8dcb83dd2e2154efee686822dbe Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Wed, 16 Aug 2023 10:14:32 -0700 Subject: [PATCH 20/31] Pin refined to 0.10.x in series/0.6 --- .scala-steward.conf | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .scala-steward.conf diff --git a/.scala-steward.conf b/.scala-steward.conf new file mode 100644 index 00000000..37a45d8f --- /dev/null +++ b/.scala-steward.conf @@ -0,0 +1,3 @@ +updates.pin = [ + { groupId = "eu.timepit", artifactId = "refined", version = "0.10" } +] From 49f454ca4450bb0a2feaa037d7ad8469e32ca8be Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Wed, 16 Aug 2023 10:15:04 -0700 Subject: [PATCH 21/31] Add trailing `.` --- .scala-steward.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.scala-steward.conf b/.scala-steward.conf index 37a45d8f..f5de923e 100644 --- a/.scala-steward.conf +++ b/.scala-steward.conf @@ -1,3 +1,3 @@ updates.pin = [ - { groupId = "eu.timepit", artifactId = "refined", version = "0.10" } + { groupId = "eu.timepit", artifactId = "refined", version = "0.10." } ] From 96eedc4997d9e8e94e59745676e847d95e10177d Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:24:59 +0000 Subject: [PATCH 22/31] Revert commit(s) e54f7db --- .github/workflows/ci.yml | 2 +- build.sbt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a5b3fcc1..d0674ef6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -338,7 +338,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - scala: [2.13.11] + scala: [2.13.10] java: [temurin@11] runs-on: ${{ matrix.os }} steps: diff --git a/build.sbt b/build.sbt index c92d0580..601364d4 100644 --- a/build.sbt +++ b/build.sbt @@ -2,7 +2,7 @@ ThisBuild / tlBaseVersion := "0.6" // Our Scala versions. lazy val `scala-2.12` = "2.12.17" -lazy val `scala-2.13` = "2.13.11" +lazy val `scala-2.13` = "2.13.10" lazy val `scala-3.0` = "3.3.0" ThisBuild / scalaVersion := `scala-2.13` From 0421f79758e78d77b7478911991f58ddb1248d58 Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:25:02 +0000 Subject: [PATCH 23/31] Update scala-library to 2.13.11 in series/0.6.x --- .github/workflows/ci.yml | 2 +- build.sbt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d0674ef6..a5b3fcc1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -338,7 +338,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - scala: [2.13.10] + scala: [2.13.11] java: [temurin@11] runs-on: ${{ matrix.os }} steps: diff --git a/build.sbt b/build.sbt index d9eb51f6..1d6a775f 100644 --- a/build.sbt +++ b/build.sbt @@ -2,7 +2,7 @@ ThisBuild / tlBaseVersion := "0.6" // Our Scala versions. lazy val `scala-2.12` = "2.12.18" -lazy val `scala-2.13` = "2.13.10" +lazy val `scala-2.13` = "2.13.11" lazy val `scala-3.0` = "3.3.0" ThisBuild / scalaVersion := `scala-2.13` From 543de16855d0ad52b63b1fd96e96fa4d59f2e72f Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:25:47 +0000 Subject: [PATCH 24/31] Revert commit(s) 7078d39 --- project/plugins.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/plugins.sbt b/project/plugins.sbt index ae0924f3..061bfeee 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -9,6 +9,6 @@ addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.6.4") addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.7") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.7") addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.13.1") -addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.14") +addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.12") addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.3.1") addSbtPlugin("com.armanbilge" % "sbt-scala-native-config-brew-github-actions" % "0.2.0-RC1") From baf540147e403ad14589dc64beb0d702c7e7f4cc Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:25:49 +0000 Subject: [PATCH 25/31] Update sbt-scala-native to 0.4.14 in series/0.6.x --- project/plugins.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/plugins.sbt b/project/plugins.sbt index 5f7214fa..f8ecf61d 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -9,5 +9,5 @@ addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.6.4") addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.7") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.7") addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.13.2") -addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.12") +addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.14") addSbtPlugin("com.armanbilge" % "sbt-scala-native-config-brew-github-actions" % "0.2.0-RC1") From 35aa7a47771587abd265822cc27cf0c8bb92e76d Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:25:55 +0000 Subject: [PATCH 26/31] Revert commit(s) 4047661 --- project/plugins.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/plugins.sbt b/project/plugins.sbt index c27cd41e..061bfeee 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -7,7 +7,7 @@ addSbtPlugin("org.typelevel" % "sbt-typelevel" % "0.5.0-RC11") addSbtPlugin("org.typelevel" % "sbt-typelevel-site" % "0.5.0-RC11") addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.6.4") addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.7") -addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.8") +addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.7") addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.13.1") addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.12") addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.3.1") From dfa65a82b39a9c28561cd1d993de7bab16116a85 Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:25:57 +0000 Subject: [PATCH 27/31] Update sbt-scoverage to 2.0.8 in series/0.6.x --- project/plugins.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/plugins.sbt b/project/plugins.sbt index 5f7214fa..274214ee 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -7,7 +7,7 @@ addSbtPlugin("org.typelevel" % "sbt-typelevel" % "0.5.0-RC11") addSbtPlugin("org.typelevel" % "sbt-typelevel-site" % "0.5.0-RC11") addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.6.4") addSbtPlugin("org.scalameta" % "sbt-mdoc" % "2.3.7") -addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.7") +addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.8") addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.13.2") addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.12") addSbtPlugin("com.armanbilge" % "sbt-scala-native-config-brew-github-actions" % "0.2.0-RC1") From a0f6bd869aa52066bd50b93f6395f8af3ae0dbdd Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:26:14 +0000 Subject: [PATCH 28/31] Revert commit(s) 4ca361e --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index b421ceb5..601364d4 100644 --- a/build.sbt +++ b/build.sbt @@ -60,7 +60,7 @@ ThisBuild / mimaBinaryIssueFilters ++= List( // This is used in a couple places lazy val fs2Version = "3.7.0" -lazy val natchezVersion = "0.3.3" +lazy val natchezVersion = "0.3.1" // Global Settings lazy val commonSettings = Seq( From fcd48e14af108cab497707fc7252f3fe5b876959 Mon Sep 17 00:00:00 2001 From: "typelevel-steward[bot]" <106827141+typelevel-steward[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 17:26:16 +0000 Subject: [PATCH 29/31] Update natchez-core, natchez-honeycomb, ... to 0.3.3 in series/0.6.x --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index d9eb51f6..7218a02b 100644 --- a/build.sbt +++ b/build.sbt @@ -60,7 +60,7 @@ ThisBuild / mimaBinaryIssueFilters ++= List( // This is used in a couple places lazy val fs2Version = "3.8.0" -lazy val natchezVersion = "0.3.1" +lazy val natchezVersion = "0.3.3" // Global Settings lazy val commonSettings = Seq( From 4f21132e9bfafb47d1cac9e5a1e4fd0a0e8d7a8b Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Wed, 16 Aug 2023 17:28:12 +0000 Subject: [PATCH 30/31] Regenerate workflow --- .github/workflows/ci.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d0674ef6..5e2c5be5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -290,6 +290,31 @@ jobs: modules-ignore: skunk_2.12 skunk_2.13 skunk_3 docs_2.12 docs_2.13 docs_3 skunk_2.12 skunk_2.13 skunk_3 skunk_2.12 skunk_2.13 skunk_3 tests_sjs1_2.12 tests_sjs1_2.13 tests_sjs1_3 tests_2.12 tests_2.13 tests_3 example_2.12 example_2.13 example_3 tests_native0.4_2.12 tests_native0.4_2.13 tests_native0.4_3 configs-ignore: test scala-tool scala-doc-tool test-internal + validate-steward: + name: Validate Steward Config + strategy: + matrix: + os: [ubuntu-latest] + java: [temurin@11] + runs-on: ${{ matrix.os }} + steps: + - name: Checkout current branch (fast) + uses: actions/checkout@v3 + + - name: Setup Java (temurin@11) + id: setup-java-temurin-11 + if: matrix.java == 'temurin@11' + uses: actions/setup-java@v3 + with: + distribution: temurin + java-version: 11 + + - uses: coursier/setup-action@v1 + with: + apps: scala-steward + + - run: scala-steward validate-repo-config .scala-steward.conf + site: name: Generate Site strategy: From b5277cdf62a3d62b6852ca8dcf648dad8467aecf Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Mon, 14 Aug 2023 05:15:54 +0000 Subject: [PATCH 31/31] Fix Scala 3 compile --- modules/core/shared/src/main/scala/data/Arr.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/core/shared/src/main/scala/data/Arr.scala b/modules/core/shared/src/main/scala/data/Arr.scala index 1efe1e29..a7ad98de 100644 --- a/modules/core/shared/src/main/scala/data/Arr.scala +++ b/modules/core/shared/src/main/scala/data/Arr.scala @@ -19,13 +19,13 @@ final class Arr[A] private ( ) extends ArrPlatform[A] { // Data and extent must be consistent. Should be guaranteed but let's check anyway. - assert((data.isEmpty && extent.isEmpty) || (data.length == extent.product)) + assert((data.isEmpty && extent.isEmpty) || (data.length == wrapIntArray(extent).product)) // In order to access elements we need the offsets associated with each dimension. But let's not // compute it unless we need to since these will be constructed in a tight loop when we unroll // a resultset that contains array columns. private lazy val _offsets: Array[Int] = - extent.tails.map(_.product).drop(1).toArray + extent.tails.map(wrapIntArray(_).product).drop(1).toArray /** * Attempt to reshape this `Arr` with the specified dimensions. This is possible if and only if