Skip to content

Commit 1ba9185

Browse files
authored
Merge pull request #10731 from griggt/cb-more-partitions
Community build: split into 3 concurrent jobs
2 parents 85983da + 997fe75 commit 1ba9185

File tree

2 files changed

+83
-41
lines changed

2 files changed

+83
-41
lines changed

.github/workflows/ci.yaml

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,46 @@ jobs:
248248
git submodule update --init --recursive --jobs 7
249249
./project/scripts/sbt "community-build/testOnly dotty.communitybuild.CommunityBuildTestB"
250250
251+
community_build_c:
252+
runs-on: [self-hosted, Linux]
253+
container:
254+
image: lampepfl/dotty:2020-11-19
255+
options: --cpu-shares 4096
256+
volumes:
257+
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
258+
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
259+
- ${{ github.workspace }}/../../cache/general:/root/.cache
260+
if: "github.event_name == 'schedule' && github.repository == 'lampepfl/dotty'
261+
|| github.event_name == 'push'
262+
|| (
263+
github.event_name == 'pull_request'
264+
&& !contains(github.event.pull_request.body, '[skip ci]')
265+
&& !contains(github.event.pull_request.body, '[skip community_build]')
266+
)
267+
|| (
268+
github.event_name == 'workflow_dispatch'
269+
&& github.repository == 'lampepfl/dotty'
270+
)"
271+
272+
steps:
273+
- name: Checkout cleanup script
274+
uses: actions/checkout@v2
275+
276+
- name: Cleanup
277+
run: .github/workflows/cleanup.sh
278+
279+
- name: Git Checkout
280+
uses: actions/checkout@v2
281+
282+
- name: Add SBT proxy repositories
283+
run: cp -vf .github/workflows/repositories /root/.sbt/ ; true
284+
285+
- name: Test
286+
run: |
287+
git submodule sync
288+
git submodule update --init --recursive --jobs 7
289+
./project/scripts/sbt "community-build/testOnly dotty.communitybuild.CommunityBuildTestC"
290+
251291
test_sbt:
252292
runs-on: [self-hosted, Linux]
253293
container:
@@ -344,7 +384,7 @@ jobs:
344384
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
345385
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
346386
- ${{ github.workspace }}/../../cache/general:/root/.cache
347-
needs: [test_non_bootstrapped, test, community_build_a, community_build_b, test_sbt, test_java8]
387+
needs: [test_non_bootstrapped, test, community_build_a, community_build_b, community_build_c, test_sbt, test_java8]
348388
if: "(github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') && github.repository == 'lampepfl/dotty'"
349389
env:
350390
NIGHTLYBUILD: yes
@@ -421,7 +461,7 @@ jobs:
421461
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
422462
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
423463
- ${{ github.workspace }}/../../cache/general:/root/.cache
424-
needs: [test_non_bootstrapped, test, community_build_a, community_build_b, test_sbt, test_java8]
464+
needs: [test_non_bootstrapped, test, community_build_a, community_build_b, community_build_c, test_sbt, test_java8]
425465
if: "github.event_name == 'push'
426466
&& startsWith(github.event.ref, 'refs/tags/')
427467
&& !startsWith(github.event.ref, 'refs/tags/sbt-dotty-')"
@@ -549,7 +589,7 @@ jobs:
549589
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
550590
- ${{ github.workspace }}/../../cache/ivy:/root/.ivy2/cache
551591
- ${{ github.workspace }}/../../cache/general:/root/.cache
552-
needs: [community_build_a, community_build_b, test_sbt]
592+
needs: [community_build_a, community_build_b, community_build_c, test_sbt]
553593
if: "github.event_name == 'push'
554594
&& startsWith(github.event.ref, 'refs/tags/sbt-dotty-')"
555595

community-build/test/scala/dotty/communitybuild/CommunityBuildTest.scala

Lines changed: 40 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -84,34 +84,14 @@ abstract class CommunityBuildTest:
8484
}
8585
end CommunityBuildTest
8686

87+
class TestCategory
88+
8789
@Category(Array(classOf[TestCategory]))
8890
class CommunityBuildTestA extends CommunityBuildTest:
89-
@Test def akka = projects.akka.run()
90-
@Test def endpoints4s = projects.endpoints4s.run()
91-
@Test def fansi = projects.fansi.run()
92-
@Test def fastparse = projects.fastparse.run()
93-
@Test def geny = projects.geny.run()
9491
@Test def izumiReflect = projects.izumiReflect.run()
95-
@Test def oslib = projects.oslib.run()
96-
// @Test def oslibWatch = projects.oslibWatch.run()
97-
@Test def pprint = projects.pprint.run()
98-
@Test def requests = projects.requests.run()
99-
@Test def scalacheck = projects.scalacheck.run()
100-
@Test def scalaCollectionCompat = projects.scalaCollectionCompat.run()
101-
@Test def scalaParallelCollections = projects.scalaParallelCollections.run()
92+
@Test def scalaSTM = projects.scalaSTM.run()
10293
@Test def scalatest = projects.scalatest.run()
103-
@Test def scalatestplusScalacheck = projects.scalatestplusScalacheck.run()
104-
@Test def scalaz = projects.scalaz.run()
105-
@Test def sourcecode = projects.sourcecode.run()
106-
@Test def stdLib213 = projects.stdLib213.run()
107-
@Test def ujson = projects.ujson.run()
108-
@Test def upickle = projects.upickle.run()
109-
@Test def utest = projects.utest.run()
110-
@Test def zio = projects.zio.run()
111-
@Test def protoquill = projects.protoquill.run()
112-
@Test def onnxScala = projects.onnxScala.run()
113-
114-
// 'scala-stm' and 'Sciss/Lucre':
94+
// 'Sciss/Lucre' dependencies:
11595
// @Test def scissEqual = projects.scissEqual .run()
11696
// @Test def scissFingerTree = projects.scissFingerTree.run()
11797
// @Test def scissLog = projects.scissLog .run()
@@ -120,15 +100,12 @@ class CommunityBuildTestA extends CommunityBuildTest:
120100
// @Test def scissSerial = projects.scissSerial .run()
121101
// @Test def scissAsyncFile = projects.scissAsyncFile .run()
122102
// @Test def scissSpan = projects.scissSpan .run()
123-
@Test def scalaSTM = projects.scalaSTM .run()
124-
@Test def scissLucre = projects.scissLucre .run()
125-
103+
@Test def scissLucre = projects.scissLucre.run()
104+
@Test def zio = projects.zio.run()
126105
end CommunityBuildTestA
127106

128107
@Category(Array(classOf[TestCategory]))
129108
class CommunityBuildTestB extends CommunityBuildTest:
130-
@Test def algebra = projects.algebra.run()
131-
@Test def betterfiles = projects.betterfiles.run()
132109
@Test def cats = projects.cats.run()
133110
@Test def catsEffect2 = projects.catsEffect2.run()
134111
@Test def catsEffect3 = projects.catsEffect3.run()
@@ -137,26 +114,51 @@ class CommunityBuildTestB extends CommunityBuildTest:
137114
@Test def discipline = projects.discipline.run()
138115
@Test def disciplineMunit = projects.disciplineMunit.run()
139116
@Test def disciplineSpecs2 = projects.disciplineSpecs2.run()
117+
@Test def munit = projects.munit.run()
118+
@Test def perspective = projects.perspective.run()
119+
@Test def scodec = projects.scodec.run()
120+
@Test def scodecBits = projects.scodecBits.run()
121+
@Test def simulacrumScalafixAnnotations = projects.simulacrumScalafixAnnotations.run()
122+
end CommunityBuildTestB
123+
124+
@Category(Array(classOf[TestCategory]))
125+
class CommunityBuildTestC extends CommunityBuildTest:
126+
@Test def akka = projects.akka.run()
127+
@Test def algebra = projects.algebra.run()
128+
@Test def betterfiles = projects.betterfiles.run()
129+
@Test def cask = projects.cask.run()
140130
// Temporarily disabled until problem discovered in comments to #9449 is fixed
141131
// @Test def dottyCpsAsync = projects.dottyCpsAsync.run()
142132
@Test def effpi = projects.effpi.run()
133+
@Test def endpoints4s = projects.endpoints4s.run()
134+
@Test def fansi = projects.fansi.run()
135+
@Test def fastparse = projects.fastparse.run()
136+
@Test def geny = projects.geny.run()
143137
@Test def intent = projects.intent.run()
144138
@Test def minitest = projects.minitest.run()
145-
@Test def munit = projects.munit.run()
146-
@Test def scodec = projects.scodec.run()
147-
@Test def scodecBits = projects.scodecBits.run()
139+
@Test def onnxScala = projects.onnxScala.run()
140+
@Test def oslib = projects.oslib.run()
141+
// @Test def oslibWatch = projects.oslibWatch.run()
142+
@Test def pprint = projects.pprint.run()
143+
@Test def protoquill = projects.protoquill.run()
144+
@Test def requests = projects.requests.run()
145+
@Test def scalacheck = projects.scalacheck.run()
146+
@Test def scalaCollectionCompat = projects.scalaCollectionCompat.run()
148147
@Test def scalap = projects.scalap.run()
148+
@Test def scalaParallelCollections = projects.scalaParallelCollections.run()
149149
@Test def scalaParserCombinators = projects.scalaParserCombinators.run()
150150
@Test def scalaPB = projects.scalaPB.run()
151+
@Test def scalatestplusScalacheck = projects.scalatestplusScalacheck.run()
151152
@Test def scalaXml = projects.scalaXml.run()
153+
@Test def scalaz = projects.scalaz.run()
152154
@Test def scas = projects.scas.run()
153155
@Test def sconfig = projects.sconfig.run()
154156
@Test def shapeless = projects.shapeless.run()
155-
@Test def simulacrumScalafixAnnotations = projects.simulacrumScalafixAnnotations.run()
157+
@Test def sourcecode = projects.sourcecode.run()
158+
@Test def stdLib213 = projects.stdLib213.run()
159+
@Test def ujson = projects.ujson.run()
160+
@Test def upickle = projects.upickle.run()
161+
@Test def utest = projects.utest.run()
156162
@Test def verify = projects.verify.run()
157163
@Test def xmlInterpolator = projects.xmlInterpolator.run()
158-
@Test def perspective = projects.perspective.run()
159-
160-
end CommunityBuildTestB
161-
162-
class TestCategory
164+
end CommunityBuildTestC

0 commit comments

Comments
 (0)