From 3fc973683559c5ed6f4e0133a569b7593cc63384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Molina=20Rebolledo?= Date: Mon, 5 Feb 2024 21:57:05 -0600 Subject: [PATCH] Fix CI. --- .github/workflows/ci.yml | 114 ++++++++++++++------------------------- build.sbt | 2 + 2 files changed, 42 insertions(+), 74 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 08eb356..5c51371 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,9 +28,9 @@ jobs: strategy: matrix: os: [ubuntu-latest] - scala: [2.13, 3] - java: [temurin@8] - project: [rootJS, rootJVM] + scala: [3] + java: [temurin@21] + project: [rootJVM] runs-on: ${{ matrix.os }} timeout-minutes: 60 steps: @@ -39,56 +39,52 @@ jobs: with: fetch-depth: 0 - - name: Setup Java (temurin@8) - id: setup-java-temurin-8 - if: matrix.java == 'temurin@8' - uses: actions/setup-java@v3 + - name: Setup Java (temurin@21) + id: setup-java-temurin-21 + if: matrix.java == 'temurin@21' + uses: actions/setup-java@v4 with: distribution: temurin - java-version: 8 + java-version: 21 cache: sbt - name: sbt update - if: matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false' + if: matrix.java == 'temurin@21' && steps.setup-java-temurin-21.outputs.cache-hit == 'false' run: sbt +update - name: Check that workflows are up to date run: sbt githubWorkflowCheck - name: Check headers and formatting - if: matrix.java == 'temurin@8' && matrix.os == 'ubuntu-latest' + if: matrix.java == 'temurin@21' && matrix.os == 'ubuntu-latest' run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' headerCheckAll scalafmtCheckAll 'project /' scalafmtSbtCheck - name: Check scalafix lints - if: matrix.java == 'temurin@8' && matrix.os == 'ubuntu-latest' + if: matrix.java == 'temurin@21' && matrix.os == 'ubuntu-latest' run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' 'scalafixAll --check' - - name: scalaJSLink - if: matrix.project == 'rootJS' - run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' Test/scalaJSLinkerResult - - name: Test run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' test - name: Check binary compatibility - if: matrix.java == 'temurin@8' && matrix.os == 'ubuntu-latest' + if: matrix.java == 'temurin@21' && matrix.os == 'ubuntu-latest' run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' mimaReportBinaryIssues - name: Generate API documentation - if: matrix.java == 'temurin@8' && matrix.os == 'ubuntu-latest' + if: matrix.java == 'temurin@21' && matrix.os == 'ubuntu-latest' run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' doc - name: Make target directories if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') - run: mkdir -p core/.js/target core/.jvm/target project/target + run: mkdir -p core/.jvm/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 core/.js/target core/.jvm/target project/target + run: tar cf targets.tar core/.jvm/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@v3 + uses: actions/upload-artifact@v4 with: name: target-${{ matrix.os }}-${{ matrix.java }}-${{ matrix.scala }}-${{ matrix.project }} path: targets.tar @@ -100,7 +96,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - java: [temurin@8] + java: [temurin@21] runs-on: ${{ matrix.os }} steps: - name: Checkout current branch (full) @@ -108,51 +104,21 @@ jobs: with: fetch-depth: 0 - - name: Setup Java (temurin@8) - id: setup-java-temurin-8 - if: matrix.java == 'temurin@8' - uses: actions/setup-java@v3 + - name: Setup Java (temurin@21) + id: setup-java-temurin-21 + if: matrix.java == 'temurin@21' + uses: actions/setup-java@v4 with: distribution: temurin - java-version: 8 + java-version: 21 cache: sbt - name: sbt update - if: matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false' + if: matrix.java == 'temurin@21' && steps.setup-java-temurin-21.outputs.cache-hit == 'false' run: sbt +update - - name: Download target directories (2.13, rootJS) - uses: actions/download-artifact@v3 - with: - name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-rootJS - - - name: Inflate target directories (2.13, rootJS) - run: | - tar xf targets.tar - rm targets.tar - - - name: Download target directories (2.13, rootJVM) - uses: actions/download-artifact@v3 - with: - name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-rootJVM - - - name: Inflate target directories (2.13, rootJVM) - run: | - tar xf targets.tar - rm targets.tar - - - name: Download target directories (3, rootJS) - uses: actions/download-artifact@v3 - with: - name: target-${{ matrix.os }}-${{ matrix.java }}-3-rootJS - - - name: Inflate target directories (3, rootJS) - run: | - tar xf targets.tar - rm targets.tar - - name: Download target directories (3, rootJVM) - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: target-${{ matrix.os }}-${{ matrix.java }}-3-rootJVM @@ -191,7 +157,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - java: [temurin@8] + java: [temurin@21] runs-on: ${{ matrix.os }} steps: - name: Checkout current branch (full) @@ -199,23 +165,23 @@ jobs: with: fetch-depth: 0 - - name: Setup Java (temurin@8) - id: setup-java-temurin-8 - if: matrix.java == 'temurin@8' - uses: actions/setup-java@v3 + - name: Setup Java (temurin@21) + id: setup-java-temurin-21 + if: matrix.java == 'temurin@21' + uses: actions/setup-java@v4 with: distribution: temurin - java-version: 8 + java-version: 21 cache: sbt - name: sbt update - if: matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false' + if: matrix.java == 'temurin@21' && steps.setup-java-temurin-21.outputs.cache-hit == 'false' run: sbt +update - name: Submit Dependencies uses: scalacenter/sbt-dependency-submission@v2 with: - modules-ignore: rootjs_2.13 rootjs_3 docs_2.13 docs_3 rootjvm_2.13 rootjvm_3 rootnative_2.13 rootnative_3 + modules-ignore: rootjs_3 docs_3 rootjvm_3 rootnative_3 configs-ignore: test scala-tool scala-doc-tool test-internal site: @@ -223,7 +189,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - java: [temurin@8] + java: [temurin@21] runs-on: ${{ matrix.os }} steps: - name: Checkout current branch (full) @@ -231,24 +197,24 @@ jobs: with: fetch-depth: 0 - - name: Setup Java (temurin@8) - id: setup-java-temurin-8 - if: matrix.java == 'temurin@8' - uses: actions/setup-java@v3 + - name: Setup Java (temurin@21) + id: setup-java-temurin-21 + if: matrix.java == 'temurin@21' + uses: actions/setup-java@v4 with: distribution: temurin - java-version: 8 + java-version: 21 cache: sbt - name: sbt update - if: matrix.java == 'temurin@8' && steps.setup-java-temurin-8.outputs.cache-hit == 'false' + if: matrix.java == 'temurin@21' && steps.setup-java-temurin-21.outputs.cache-hit == 'false' run: sbt +update - name: Generate site run: sbt docs/tlSite - name: Publish site - if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main' + if: github.event_name != 'pull_request' && github.ref == 'refs/heads/master' uses: peaceiris/actions-gh-pages@v3.9.3 with: github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/build.sbt b/build.sbt index 8d4d699..f97d598 100644 --- a/build.sbt +++ b/build.sbt @@ -18,6 +18,8 @@ ThisBuild / tlSonatypeUseLegacyHost := false // publish website from this branch ThisBuild / tlSitePublishBranch := Some("master") +ThisBuild / githubWorkflowJavaVersions := List(JavaSpec.temurin("21")) + val defaultScalaVersion = "3.3.1" ThisBuild / crossScalaVersions := Seq(defaultScalaVersion) ThisBuild / scalaVersion := defaultScalaVersion // the default Scala