diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e98a7808656f..9a0b044755af 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -248,6 +248,46 @@ jobs: git submodule update --init --recursive --jobs 7 ./project/scripts/sbt "community-build/testOnly dotty.communitybuild.CommunityBuildTestB" + community_build_c: + runs-on: [self-hosted, Linux] + container: + image: lampepfl/dotty:2020-11-19 + options: --cpu-shares 4096 + volumes: + - ${{ github.workspace }}/../../cache/sbt:/root/.sbt + - ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache + - ${{ github.workspace }}/../../cache/general:/root/.cache + if: "github.event_name == 'schedule' && github.repository == 'lampepfl/dotty' + || github.event_name == 'push' + || ( + github.event_name == 'pull_request' + && !contains(github.event.pull_request.body, '[skip ci]') + && !contains(github.event.pull_request.body, '[skip community_build]') + ) + || ( + github.event_name == 'workflow_dispatch' + && github.repository == 'lampepfl/dotty' + )" + + steps: + - name: Checkout cleanup script + uses: actions/checkout@v2 + + - name: Cleanup + run: .github/workflows/cleanup.sh + + - name: Git Checkout + uses: actions/checkout@v2 + + - name: Add SBT proxy repositories + run: cp -vf .github/workflows/repositories /root/.sbt/ ; true + + - name: Test + run: | + git submodule sync + git submodule update --init --recursive --jobs 7 + ./project/scripts/sbt "community-build/testOnly dotty.communitybuild.CommunityBuildTestC" + test_sbt: runs-on: [self-hosted, Linux] container: @@ -344,7 +384,7 @@ jobs: - ${{ github.workspace }}/../../cache/sbt:/root/.sbt - ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache - ${{ github.workspace }}/../../cache/general:/root/.cache - needs: [test_non_bootstrapped, test, community_build_a, community_build_b, test_sbt, test_java8] + needs: [test_non_bootstrapped, test, community_build_a, community_build_b, community_build_c, test_sbt, test_java8] if: "(github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && github.repository == 'lampepfl/dotty'" env: NIGHTLYBUILD: yes @@ -421,7 +461,7 @@ jobs: - ${{ github.workspace }}/../../cache/sbt:/root/.sbt - ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache - ${{ github.workspace }}/../../cache/general:/root/.cache - needs: [test_non_bootstrapped, test, community_build_a, community_build_b, test_sbt, test_java8] + needs: [test_non_bootstrapped, test, community_build_a, community_build_b, community_build_c, test_sbt, test_java8] if: "github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/') && !startsWith(github.event.ref, 'refs/tags/sbt-dotty-')" @@ -549,7 +589,7 @@ jobs: - ${{ github.workspace }}/../../cache/sbt:/root/.sbt - ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache - ${{ github.workspace }}/../../cache/general:/root/.cache - needs: [community_build_a, community_build_b, test_sbt] + needs: [community_build_a, community_build_b, community_build_c, test_sbt] if: "github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/sbt-dotty-')" diff --git a/community-build/test/scala/dotty/communitybuild/CommunityBuildTest.scala b/community-build/test/scala/dotty/communitybuild/CommunityBuildTest.scala index bb22a7ef2679..9c056bdb9ac4 100644 --- a/community-build/test/scala/dotty/communitybuild/CommunityBuildTest.scala +++ b/community-build/test/scala/dotty/communitybuild/CommunityBuildTest.scala @@ -84,34 +84,14 @@ abstract class CommunityBuildTest: } end CommunityBuildTest +class TestCategory + @Category(Array(classOf[TestCategory])) class CommunityBuildTestA extends CommunityBuildTest: - @Test def akka = projects.akka.run() - @Test def endpoints4s = projects.endpoints4s.run() - @Test def fansi = projects.fansi.run() - @Test def fastparse = projects.fastparse.run() - @Test def geny = projects.geny.run() @Test def izumiReflect = projects.izumiReflect.run() - @Test def oslib = projects.oslib.run() - // @Test def oslibWatch = projects.oslibWatch.run() - @Test def pprint = projects.pprint.run() - @Test def requests = projects.requests.run() - @Test def scalacheck = projects.scalacheck.run() - @Test def scalaCollectionCompat = projects.scalaCollectionCompat.run() - @Test def scalaParallelCollections = projects.scalaParallelCollections.run() + @Test def scalaSTM = projects.scalaSTM.run() @Test def scalatest = projects.scalatest.run() - @Test def scalatestplusScalacheck = projects.scalatestplusScalacheck.run() - @Test def scalaz = projects.scalaz.run() - @Test def sourcecode = projects.sourcecode.run() - @Test def stdLib213 = projects.stdLib213.run() - @Test def ujson = projects.ujson.run() - @Test def upickle = projects.upickle.run() - @Test def utest = projects.utest.run() - @Test def zio = projects.zio.run() - @Test def protoquill = projects.protoquill.run() - @Test def onnxScala = projects.onnxScala.run() - - // 'scala-stm' and 'Sciss/Lucre': + // 'Sciss/Lucre' dependencies: // @Test def scissEqual = projects.scissEqual .run() // @Test def scissFingerTree = projects.scissFingerTree.run() // @Test def scissLog = projects.scissLog .run() @@ -120,15 +100,12 @@ class CommunityBuildTestA extends CommunityBuildTest: // @Test def scissSerial = projects.scissSerial .run() // @Test def scissAsyncFile = projects.scissAsyncFile .run() // @Test def scissSpan = projects.scissSpan .run() - @Test def scalaSTM = projects.scalaSTM .run() - @Test def scissLucre = projects.scissLucre .run() - + @Test def scissLucre = projects.scissLucre.run() + @Test def zio = projects.zio.run() end CommunityBuildTestA @Category(Array(classOf[TestCategory])) class CommunityBuildTestB extends CommunityBuildTest: - @Test def algebra = projects.algebra.run() - @Test def betterfiles = projects.betterfiles.run() @Test def cats = projects.cats.run() @Test def catsEffect2 = projects.catsEffect2.run() @Test def catsEffect3 = projects.catsEffect3.run() @@ -137,26 +114,51 @@ class CommunityBuildTestB extends CommunityBuildTest: @Test def discipline = projects.discipline.run() @Test def disciplineMunit = projects.disciplineMunit.run() @Test def disciplineSpecs2 = projects.disciplineSpecs2.run() + @Test def munit = projects.munit.run() + @Test def perspective = projects.perspective.run() + @Test def scodec = projects.scodec.run() + @Test def scodecBits = projects.scodecBits.run() + @Test def simulacrumScalafixAnnotations = projects.simulacrumScalafixAnnotations.run() +end CommunityBuildTestB + +@Category(Array(classOf[TestCategory])) +class CommunityBuildTestC extends CommunityBuildTest: + @Test def akka = projects.akka.run() + @Test def algebra = projects.algebra.run() + @Test def betterfiles = projects.betterfiles.run() + @Test def cask = projects.cask.run() // Temporarily disabled until problem discovered in comments to #9449 is fixed // @Test def dottyCpsAsync = projects.dottyCpsAsync.run() @Test def effpi = projects.effpi.run() + @Test def endpoints4s = projects.endpoints4s.run() + @Test def fansi = projects.fansi.run() + @Test def fastparse = projects.fastparse.run() + @Test def geny = projects.geny.run() @Test def intent = projects.intent.run() @Test def minitest = projects.minitest.run() - @Test def munit = projects.munit.run() - @Test def scodec = projects.scodec.run() - @Test def scodecBits = projects.scodecBits.run() + @Test def onnxScala = projects.onnxScala.run() + @Test def oslib = projects.oslib.run() + // @Test def oslibWatch = projects.oslibWatch.run() + @Test def pprint = projects.pprint.run() + @Test def protoquill = projects.protoquill.run() + @Test def requests = projects.requests.run() + @Test def scalacheck = projects.scalacheck.run() + @Test def scalaCollectionCompat = projects.scalaCollectionCompat.run() @Test def scalap = projects.scalap.run() + @Test def scalaParallelCollections = projects.scalaParallelCollections.run() @Test def scalaParserCombinators = projects.scalaParserCombinators.run() @Test def scalaPB = projects.scalaPB.run() + @Test def scalatestplusScalacheck = projects.scalatestplusScalacheck.run() @Test def scalaXml = projects.scalaXml.run() + @Test def scalaz = projects.scalaz.run() @Test def scas = projects.scas.run() @Test def sconfig = projects.sconfig.run() @Test def shapeless = projects.shapeless.run() - @Test def simulacrumScalafixAnnotations = projects.simulacrumScalafixAnnotations.run() + @Test def sourcecode = projects.sourcecode.run() + @Test def stdLib213 = projects.stdLib213.run() + @Test def ujson = projects.ujson.run() + @Test def upickle = projects.upickle.run() + @Test def utest = projects.utest.run() @Test def verify = projects.verify.run() @Test def xmlInterpolator = projects.xmlInterpolator.run() - @Test def perspective = projects.perspective.run() - -end CommunityBuildTestB - -class TestCategory +end CommunityBuildTestC