diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 54e3c39..004ed10 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,24 +35,23 @@ jobs: fi env: GH_TOKEN: ${{ github.token }} - test: - name: test + cache-rehydrate: + name: cache-rehydrate runs-on: ubuntu-latest needs: - - fmt - verify-gate - if: "!cancelled() && !startsWith(github.ref, 'refs/tags/') && github.event_name != 'workflow_dispatch' && ((needs.verify-gate.result != 'success') || (needs.verify-gate.outputs.run == 'true'))" + if: needs.verify-gate.result == 'success' && needs.verify-gate.outputs.run == 'false' steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: "0" fetch-tags: "true" - name: Setup JDK 25 - uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0 + uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 with: distribution: temurin java-version: "25" - - uses: sbt/setup-sbt@6444f4c8111de4b9059c3975def104b03cfaa5f0 # v1.5.2 + - uses: sbt/setup-sbt@bfea3c5f48abd221b04a6df4798aa5eb8b6a2baf # v1.5.6 with: disk-cache: "false" - name: Resolve cache epoch @@ -89,18 +88,19 @@ jobs: ~/.cache/sbt ~/.cache/coursier target - key: ubuntu-latest-jdk25-sbt-${{ steps.cache-epoch.outputs.epoch }}-${{ github.run_id }}-test + key: ubuntu-latest-jdk25-sbt-${{ steps.cache-epoch.outputs.epoch }}-${{ github.run_id }}-cache-rehydrate restore-keys: | ubuntu-latest-jdk25-sbt-${{ steps.cache-epoch.outputs.epoch }}-${{ github.run_id }}- ubuntu-latest-jdk25-sbt-${{ steps.cache-epoch.outputs.epoch }}- ubuntu-latest-jdk25-sbt-${{ steps.cache-epoch.outputs.release }}- ubuntu-latest-jdk25-sbt- - - name: test - run: sbt 'specularSite' - fmt: - name: fmt + - name: cache-rehydrate + run: sbt 'compile' + test: + name: test runs-on: ubuntu-latest needs: + - fmt - verify-gate if: "!cancelled() && !startsWith(github.ref, 'refs/tags/') && github.event_name != 'workflow_dispatch' && ((needs.verify-gate.result != 'success') || (needs.verify-gate.outputs.run == 'true'))" steps: @@ -109,11 +109,11 @@ jobs: fetch-depth: "0" fetch-tags: "true" - name: Setup JDK 25 - uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0 + uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 with: distribution: temurin java-version: "25" - - uses: sbt/setup-sbt@6444f4c8111de4b9059c3975def104b03cfaa5f0 # v1.5.2 + - uses: sbt/setup-sbt@bfea3c5f48abd221b04a6df4798aa5eb8b6a2baf # v1.5.6 with: disk-cache: "false" - name: Resolve cache epoch @@ -150,29 +150,38 @@ jobs: ~/.cache/sbt ~/.cache/coursier target - key: ubuntu-latest-jdk25-sbt-${{ steps.cache-epoch.outputs.epoch }}-${{ github.run_id }}-fmt + key: ubuntu-latest-jdk25-sbt-${{ steps.cache-epoch.outputs.epoch }}-${{ github.run_id }}-test restore-keys: | ubuntu-latest-jdk25-sbt-${{ steps.cache-epoch.outputs.epoch }}-${{ github.run_id }}- ubuntu-latest-jdk25-sbt-${{ steps.cache-epoch.outputs.epoch }}- ubuntu-latest-jdk25-sbt-${{ steps.cache-epoch.outputs.release }}- ubuntu-latest-jdk25-sbt- - - name: fmt - run: sbt 'scalafmtCheckAll' - publish: - name: publish + - name: test + run: | + if [ "$ZIPX_VERIFY_CLEAN_FULL" = "true" ]; then + sbt 'cleanFull; specularSite' + else + sbt 'specularSite' + fi + env: + ZIPX_VERIFY_CLEAN_FULL: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'clean') }} + fmt: + name: fmt runs-on: ubuntu-latest - if: startsWith(github.ref, 'refs/tags/v') + needs: + - verify-gate + if: "!cancelled() && !startsWith(github.ref, 'refs/tags/') && github.event_name != 'workflow_dispatch' && ((needs.verify-gate.result != 'success') || (needs.verify-gate.outputs.run == 'true'))" steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: "0" fetch-tags: "true" - name: Setup JDK 25 - uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0 + uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 with: distribution: temurin java-version: "25" - - uses: sbt/setup-sbt@6444f4c8111de4b9059c3975def104b03cfaa5f0 # v1.5.2 + - uses: sbt/setup-sbt@bfea3c5f48abd221b04a6df4798aa5eb8b6a2baf # v1.5.6 with: disk-cache: "false" - name: Resolve cache epoch @@ -209,11 +218,18 @@ jobs: ~/.cache/sbt ~/.cache/coursier target - key: ubuntu-latest-jdk25-sbt-${{ steps.cache-epoch.outputs.epoch }}-${{ github.run_id }}-publish + key: ubuntu-latest-jdk25-sbt-${{ steps.cache-epoch.outputs.epoch }}-${{ github.run_id }}-fmt restore-keys: | ubuntu-latest-jdk25-sbt-${{ steps.cache-epoch.outputs.epoch }}-${{ github.run_id }}- ubuntu-latest-jdk25-sbt-${{ steps.cache-epoch.outputs.epoch }}- ubuntu-latest-jdk25-sbt-${{ steps.cache-epoch.outputs.release }}- ubuntu-latest-jdk25-sbt- - - name: publish - run: sbt 'hubJS/publish; root/publish' + - name: fmt + run: | + if [ "$ZIPX_VERIFY_CLEAN_FULL" = "true" ]; then + sbt 'cleanFull; scalafmtCheckAll' + else + sbt 'scalafmtCheckAll' + fi + env: + ZIPX_VERIFY_CLEAN_FULL: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'clean') }} diff --git a/.github/workflows/zipx-scala-steward.yml b/.github/workflows/zipx-scala-steward.yml index 27a3337..d30520d 100644 --- a/.github/workflows/zipx-scala-steward.yml +++ b/.github/workflows/zipx-scala-steward.yml @@ -13,4 +13,4 @@ jobs: runs-on: ubuntu-latest steps: - name: Scala Steward - uses: scala-steward-org/scala-steward-action@ff09222640622d474d0d9f93c04aefedd125b187 # v2.92.0 + uses: scala-steward-org/scala-steward-action@41bd88543dcf5e5455689f04d041b095eb901660 # v2.93.0 diff --git a/.scalafmt.conf b/.scalafmt.conf index 8433d39..40cebc8 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -1,4 +1,4 @@ -version = "3.11.4" +version = "3.11.5" runner.dialect = scala3 maxColumn = 120 align.preset = more diff --git a/build.sbt b/build.sbt index 49b2082..755eed0 100644 --- a/build.sbt +++ b/build.sbt @@ -2,7 +2,7 @@ val scala3Version = "3.8.4" val zioVersion = "2.1.26" val zioHttpVersion = "3.11.3" val ascentVersion = "0.3.1" -val specularVersion = "0.10.1" +val specularVersion = "0.11.0" ThisBuild / scalaVersion := scala3Version ThisBuild / organization := "rocks.earlyeffect" diff --git a/project/build.properties b/project/build.properties index 3b9dfab..a0cc54f 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=2.0.3 +sbt.version=2.0.4 diff --git a/project/plugins.sbt b/project/plugins.sbt index 3ea3253..e3ac99f 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,4 +1,4 @@ addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.22.0") addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.6.2") addSbtPlugin("rocks.earlyeffect" % "sbt-dynver-ci" % "0.2.2") -addSbtPlugin("rocks.earlyeffect" % "sbt-zipx" % "0.0.12") +addSbtPlugin("rocks.earlyeffect" % "sbt-zipx" % "0.1.4")