diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3beab18..0220c38 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,15 +34,19 @@ jobs: runs-on: ${{ matrix.os }} timeout-minutes: 60 steps: + - name: Install sbt + if: contains(runner.os, 'macos') + run: brew install sbt + - name: Checkout current branch (full) - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Java (temurin@8) id: setup-java-temurin-8 if: matrix.java == 'temurin@8' - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: temurin java-version: 8 @@ -80,7 +84,7 @@ jobs: - 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@v3 + uses: actions/upload-artifact@v4 with: name: target-${{ matrix.os }}-${{ matrix.java }}-${{ matrix.scala }}-${{ matrix.project }} path: targets.tar @@ -95,15 +99,19 @@ jobs: java: [temurin@8] runs-on: ${{ matrix.os }} steps: + - name: Install sbt + if: contains(runner.os, 'macos') + run: brew install sbt + - name: Checkout current branch (full) - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Java (temurin@8) id: setup-java-temurin-8 if: matrix.java == 'temurin@8' - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: temurin java-version: 8 @@ -114,7 +122,7 @@ jobs: run: sbt +update - name: Download target directories (2.12, whale-tailJVM) - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-whale-tailJVM @@ -124,7 +132,7 @@ jobs: rm targets.tar - name: Download target directories (2.12, whale-tailJS) - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-whale-tailJS @@ -134,7 +142,7 @@ jobs: rm targets.tar - name: Download target directories (2.13, whale-tailJVM) - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-whale-tailJVM @@ -144,7 +152,7 @@ jobs: rm targets.tar - name: Download target directories (2.13, whale-tailJS) - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-whale-tailJS @@ -154,7 +162,7 @@ jobs: rm targets.tar - name: Download target directories (3, whale-tailJVM) - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: target-${{ matrix.os }}-${{ matrix.java }}-3-whale-tailJVM @@ -164,7 +172,7 @@ jobs: rm targets.tar - name: Download target directories (3, whale-tailJS) - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: target-${{ matrix.os }}-${{ matrix.java }}-3-whale-tailJS @@ -178,7 +186,7 @@ jobs: env: PGP_SECRET: ${{ secrets.PGP_SECRET }} PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} - run: echo $PGP_SECRET | base64 -di | gpg --import + run: echo $PGP_SECRET | base64 -d -i - | gpg --import - name: Import signing key and strip passphrase if: env.PGP_SECRET != '' && env.PGP_PASSPHRASE != '' @@ -186,7 +194,7 @@ jobs: PGP_SECRET: ${{ secrets.PGP_SECRET }} PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} run: | - echo "$PGP_SECRET" | base64 -di > /tmp/signing-key.gpg + echo "$PGP_SECRET" | base64 -d -i - > /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) @@ -206,15 +214,19 @@ jobs: java: [temurin@8] runs-on: ${{ matrix.os }} steps: + - name: Install sbt + if: contains(runner.os, 'macos') + run: brew install sbt + - name: Checkout current branch (full) - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Java (temurin@8) id: setup-java-temurin-8 if: matrix.java == 'temurin@8' - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: temurin java-version: 8 @@ -235,18 +247,22 @@ jobs: strategy: matrix: os: [ubuntu-latest] - java: [temurin@8] + java: [temurin@11] runs-on: ${{ matrix.os }} steps: + - name: Install sbt + if: contains(runner.os, 'macos') + run: brew install sbt + - name: Checkout current branch (full) - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Java (temurin@8) id: setup-java-temurin-8 if: matrix.java == 'temurin@8' - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: temurin java-version: 8 @@ -256,12 +272,25 @@ jobs: if: matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false' run: sbt +update + - name: Setup Java (temurin@11) + id: setup-java-temurin-11 + if: matrix.java == 'temurin@11' + uses: actions/setup-java@v4 + 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: Generate site run: sbt site/tlSite - name: Publish site if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main' - uses: peaceiris/actions-gh-pages@v3.9.3 + uses: peaceiris/actions-gh-pages@v4.0.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: site/target/docs/site diff --git a/build.sbt b/build.sbt index 755e40c..717e3ee 100644 --- a/build.sbt +++ b/build.sbt @@ -1,11 +1,13 @@ val catsV = "2.10.0" -val catsEffectV = "3.5.1" -val fs2V = "3.9.1" -val http4sV = "0.23.23" -val circeV = "0.14.6" -val log4catsV = "2.6.0" +val catsEffectV = "3.5.4" +val fs2V = "3.9.4" +val http4sV = "0.23.27" +val circeV = "0.14.9" +val log4catsV = "2.7.0" ThisBuild / tlBaseVersion := "0.0" +ThisBuild / tlSonatypeUseLegacyHost := true +ThisBuild / crossScalaVersions := Seq("2.12.17", "2.13.14", "3.4.2") ThisBuild / organization := "io.chrisdavenport" ThisBuild / organizationName := "Christopher Davenport" @@ -14,9 +16,8 @@ ThisBuild / developers := List( // your GitHub handle and name tlGitHubDev("christopherdavenport", "Christopher Davenport") ) -ThisBuild / tlSonatypeUseLegacyHost := true -ThisBuild / crossScalaVersions := Seq("2.12.18", "2.13.11", "3.3.0") + ThisBuild / tlCiReleaseBranches := Seq("main") // Projects @@ -32,7 +33,7 @@ lazy val core = crossProject(JSPlatform, JVMPlatform) ) .jvmSettings( libraryDependencies ++= Seq( - "com.github.jnr" % "jnr-unixsocket" % "0.38.20" % Test, + "com.github.jnr" % "jnr-unixsocket" % "0.38.22" % Test, ) ) .jsSettings( diff --git a/project/build.properties b/project/build.properties index 3040987..abbbce5 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.4 +sbt.version=1.9.8 diff --git a/project/plugins.sbt b/project/plugins.sbt index a3f2bcf..ea4ef41 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,7 +1,7 @@ -addSbtPlugin("org.typelevel" % "sbt-typelevel-ci-release" % "0.5.0") -addSbtPlugin("org.typelevel" % "sbt-typelevel-site" % "0.5.0") -addSbtPlugin("org.typelevel" % "sbt-typelevel-settings" % "0.5.0") -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.13.2") +addSbtPlugin("org.typelevel" % "sbt-typelevel-ci-release" % "0.7.2") +addSbtPlugin("org.typelevel" % "sbt-typelevel-site" % "0.7.2") +addSbtPlugin("org.typelevel" % "sbt-typelevel-settings" % "0.7.2") +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.16.0") addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.3.2") -addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.14") +addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.17") addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.3.2")