diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7acaf76ed..d1c3fb4a1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -77,24 +77,29 @@ jobs: run: sbt '++${{ matrix.scala }}' 'project ${{ matrix.project }}' coverage test test/coverageReport - name: Check binary compatibility + if: matrix.java == 'temurin@8' run: sbt '++${{ matrix.scala }}' 'project ${{ matrix.project }}' mimaReportBinaryIssues - name: Generate API documentation + if: matrix.java == 'temurin@8' run: sbt '++${{ matrix.scala }}' 'project ${{ matrix.project }}' doc - name: Upload Codecov Results run: codecov -F ${{ matrix.scala }} - name: Make target directories + if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/master') run: mkdir -p refined-spark30/target refined/target ml-spark30/target target mdocs/target ml-spark31/target refined-spark31/target .spark31/target ml/target cats-spark31/target dataset-spark31/target dataset/target cats-spark30/target .spark30/target .spark32/target cats/target core/target dataset-spark30/target project/target - name: Compress target directories + if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/master') run: tar cf targets.tar refined-spark30/target refined/target ml-spark30/target target mdocs/target ml-spark31/target refined-spark31/target .spark31/target ml/target cats-spark31/target dataset-spark31/target dataset/target cats-spark30/target .spark30/target .spark32/target cats/target core/target dataset-spark30/target project/target - name: Upload target directories + if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/master') uses: actions/upload-artifact@v2 with: - name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }} + name: target-${{ matrix.os }}-${{ matrix.java }}-${{ matrix.scala }}-${{ matrix.project }} path: targets.tar publish: @@ -132,22 +137,42 @@ jobs: ~/Library/Caches/Coursier/v1 key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} - - name: Download target directories (2.13.8) + - name: Download target directories (2.13.8, root-spark32) + uses: actions/download-artifact@v2 + with: + name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.8-root-spark32 + + - name: Inflate target directories (2.13.8, root-spark32) + run: | + tar xf targets.tar + rm targets.tar + + - name: Download target directories (2.12.15, root-spark30) + uses: actions/download-artifact@v2 + with: + name: target-${{ matrix.os }}-${{ matrix.java }}-2.12.15-root-spark30 + + - name: Inflate target directories (2.12.15, root-spark30) + run: | + tar xf targets.tar + rm targets.tar + + - name: Download target directories (2.12.15, root-spark31) uses: actions/download-artifact@v2 with: - name: target-${{ matrix.os }}-2.13.8-${{ matrix.java }} + name: target-${{ matrix.os }}-${{ matrix.java }}-2.12.15-root-spark31 - - name: Inflate target directories (2.13.8) + - name: Inflate target directories (2.12.15, root-spark31) run: | tar xf targets.tar rm targets.tar - - name: Download target directories (2.12.15) + - name: Download target directories (2.12.15, root-spark32) uses: actions/download-artifact@v2 with: - name: target-${{ matrix.os }}-2.12.15-${{ matrix.java }} + name: target-${{ matrix.os }}-${{ matrix.java }}-2.12.15-root-spark32 - - name: Inflate target directories (2.12.15) + - name: Inflate target directories (2.12.15, root-spark32) run: | tar xf targets.tar rm targets.tar @@ -200,7 +225,7 @@ jobs: key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} - name: Generate site - run: sbt '++${{ matrix.scala }}' tlSite + run: sbt '++${{ matrix.scala }}' docs/tlSite - name: Publish site if: github.event_name != 'pull_request' && github.ref == 'refs/heads/master' diff --git a/build.sbt b/build.sbt index a92e734a1..b46727a29 100644 --- a/build.sbt +++ b/build.sbt @@ -330,6 +330,7 @@ ThisBuild / githubWorkflowBuildPreamble ++= Seq( val roots = List("root-spark30", "root-spark31", "root-spark32") ThisBuild / githubWorkflowBuildMatrixAdditions += "project" -> roots +ThisBuild / githubWorkflowArtifactDownloadExtraKeys += "project" ThisBuild / githubWorkflowBuildSbtStepPreamble += s"project $${{ matrix.project }}" ThisBuild / githubWorkflowBuildMatrixExclusions ++= roots.init.map { project => MatrixExclude(Map("scala" -> Scala213, "project" -> project)) diff --git a/project/plugins.sbt b/project/plugins.sbt index 2b1a36f6f..21e852797 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,4 +1,4 @@ -val sbtTypelevelVersion = "0.4.1" +val sbtTypelevelVersion = "0.4.3" addSbtPlugin("org.typelevel" % "sbt-typelevel-ci-release" % sbtTypelevelVersion) addSbtPlugin("org.typelevel" % "sbt-typelevel-site" % sbtTypelevelVersion) addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.9.3")