diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fcd7c702..98fc9f84 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,19 +45,37 @@ jobs: with: fetch-depth: 0 + - name: Download Java (temurin@8) + id: download-java-temurin-8 + if: matrix.java == 'temurin@8' + uses: typelevel/download-java@v1 + with: + distribution: temurin + java-version: 8 + - name: Setup Java (temurin@8) if: matrix.java == 'temurin@8' uses: actions/setup-java@v2 with: - distribution: temurin + distribution: jdkfile java-version: 8 + jdkFile: ${{ steps.download-java-temurin-8.outputs.jdkFile }} + + - name: Download Java (temurin@11) + id: download-java-temurin-11 + if: matrix.java == 'temurin@11' + uses: typelevel/download-java@v1 + with: + distribution: temurin + java-version: 11 - name: Setup Java (temurin@11) if: matrix.java == 'temurin@11' uses: actions/setup-java@v2 with: - distribution: temurin + distribution: jdkfile java-version: 11 + jdkFile: ${{ steps.download-java-temurin-11.outputs.jdkFile }} - name: Cache sbt uses: actions/cache@v2 @@ -124,19 +142,37 @@ jobs: with: fetch-depth: 0 + - name: Download Java (temurin@8) + id: download-java-temurin-8 + if: matrix.java == 'temurin@8' + uses: typelevel/download-java@v1 + with: + distribution: temurin + java-version: 8 + - name: Setup Java (temurin@8) if: matrix.java == 'temurin@8' uses: actions/setup-java@v2 with: - distribution: temurin + distribution: jdkfile java-version: 8 + jdkFile: ${{ steps.download-java-temurin-8.outputs.jdkFile }} + + - name: Download Java (temurin@11) + id: download-java-temurin-11 + if: matrix.java == 'temurin@11' + uses: typelevel/download-java@v1 + with: + distribution: temurin + java-version: 11 - name: Setup Java (temurin@11) if: matrix.java == 'temurin@11' uses: actions/setup-java@v2 with: - distribution: temurin + distribution: jdkfile java-version: 11 + jdkFile: ${{ steps.download-java-temurin-11.outputs.jdkFile }} - name: Cache sbt uses: actions/cache@v2 @@ -170,6 +206,16 @@ jobs: tar xf targets.tar rm targets.tar + - name: Download target directories (2.13.8, rootJVM) + uses: actions/download-artifact@v2 + with: + name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.8-rootJVM + + - name: Inflate target directories (2.13.8, rootJVM) + run: | + tar xf targets.tar + rm targets.tar + - name: Download target directories (2.12.15, rootJS) uses: actions/download-artifact@v2 with: @@ -238,19 +284,37 @@ jobs: with: fetch-depth: 0 + - name: Download Java (temurin@8) + id: download-java-temurin-8 + if: matrix.java == 'temurin@8' + uses: typelevel/download-java@v1 + with: + distribution: temurin + java-version: 8 + - name: Setup Java (temurin@8) if: matrix.java == 'temurin@8' uses: actions/setup-java@v2 with: - distribution: temurin + distribution: jdkfile java-version: 8 + jdkFile: ${{ steps.download-java-temurin-8.outputs.jdkFile }} + + - name: Download Java (temurin@11) + id: download-java-temurin-11 + if: matrix.java == 'temurin@11' + uses: typelevel/download-java@v1 + with: + distribution: temurin + java-version: 11 - name: Setup Java (temurin@11) if: matrix.java == 'temurin@11' uses: actions/setup-java@v2 with: - distribution: temurin + distribution: jdkfile java-version: 11 + jdkFile: ${{ steps.download-java-temurin-11.outputs.jdkFile }} - name: Cache sbt uses: actions/cache@v2 diff --git a/.scalafmt.conf b/.scalafmt.conf index e08831af..024275a6 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -1,7 +1,7 @@ # tune this file as appropriate to your style! see: # https://scalameta.org/scalafmt/docs/configuration.html -version = 3.4.3 +version = 3.5.2 maxColumn = 100 diff --git a/build.sbt b/build.sbt index 620b7174..f4ecd205 100644 --- a/build.sbt +++ b/build.sbt @@ -30,7 +30,7 @@ val catsV = "2.7.0" val catsEffectV = "3.3.11" val slf4jV = "1.7.36" val munitCatsEffectV = "1.0.7" -val logbackClassicV = "1.2.10" +val logbackClassicV = "1.2.11" Global / onChangedBuildSource := ReloadOnSourceChanges @@ -53,6 +53,11 @@ lazy val core = crossProject(JSPlatform, JVMPlatform) else Seq("org.scala-lang" % "scala-reflect" % scalaVersion.value % Provided) } ) + .jsSettings( + // https://www.scala-js.org/news/2022/04/04/announcing-scalajs-1.10.0#fixes-with-compatibility-concerns + libraryDependencies += ("org.scala-js" %%% "scalajs-java-securerandom" % "1.0.0") + .cross(CrossVersion.for3Use2_13) + ) lazy val testing = crossProject(JSPlatform, JVMPlatform) .settings(commonSettings) diff --git a/project/plugins.sbt b/project/plugins.sbt index 982c3b7a..b3cb7c95 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,5 +1,5 @@ -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.9.0") +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.10.0") addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.3") -val sbtTypelevelVersion = "0.4.5" +val sbtTypelevelVersion = "0.4.9" addSbtPlugin("org.typelevel" % "sbt-typelevel" % sbtTypelevelVersion) addSbtPlugin("org.typelevel" % "sbt-typelevel-site" % sbtTypelevelVersion)