Skip to content

Commit 1f95fea

Browse files
ckipp01Kordyjan
authored andcommitted
docs(contributing): migrate community build docs to contributing guide
This takes the existing information in the README and puts it in the contributing docs under a `Community Build` page. The main reason for this is to continue to centralize the places to contributing documentation is. [skip community_build] [Cherry-picked 7103b17]
1 parent 7c64ac6 commit 1f95fea

File tree

3 files changed

+81
-73
lines changed

3 files changed

+81
-73
lines changed

community-build/README.md

Lines changed: 3 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,5 @@
11
# Scala 3 Community Build
22

3-
This project contains tests to build and test a corpus of open sources Scala
4-
projects against the latest version of Scala 3.
5-
6-
## Running it locally
7-
8-
To run the community build on a local machine, first fetch all the git
9-
submodules with `git submodule update --init` and run `sbt community-build/test`
10-
from the root of the dotty repo.
11-
12-
To run a single project, you can use the usual syntax for running a single JUnit
13-
test, for example `community-build/testOnly -- *shapeless`
14-
15-
In CI the community build is split up into 3 seperate groups: A, B, and C. To
16-
run one specific build you can also use the same JUnit syntax as above targeting
17-
the individual group. For example:
18-
19-
```
20-
sbt "community-build/testOnly dotty.communitybuild.CommunityBuildTestA"
21-
```
22-
23-
## Adding your project
24-
25-
The community build is able to handle both Mill and sbt projects. To add your
26-
project to the community build you can follow these steps:
27-
28-
1. Ensure your project is compiling with Scala 3. If you need help make sure to
29-
check out the [Scala 3 Migration
30-
Guide](https://docs.scala-lang.org/scala3/guides/migration/compatibility-intro.html).
31-
You can see the submodules in
32-
[community-projects](https://github.com/lampepfl/dotty/tree/main/community-build/community-projects/)
33-
for examples of projects that compile with Scala 3.
34-
35-
2. Open a PR against this repo that:
36-
- Adds your project as a new git submodule
37-
- `git submodule add https://github.com/dotty-staging/XYZ.git community-build/community-projects/XYZ`
38-
- Add the project to [projects.scala](https://github.com/lampepfl/dotty/blob/main/community-build/src/scala/dotty/communitybuild/projects.scala)
39-
- Adds a test in [CommunityBuildTest.scala](https://github.com/lampepfl/dotty/blob/main/community-build/test/scala/dotty/communitybuild/CommunityBuildTest.scala)
40-
41-
3. Once the CI is green, someone from the Dotty team will fork your repo and add
42-
it to [dotty-staging](https://github.com/dotty-staging). This enables us to
43-
make changes to your fork if necessary to keep the community build running
44-
smoothly.
45-
46-
4. Once the fork is created, please update your PR to point to this new fork
47-
instead of your repo.
48-
49-
## Updating a project
50-
51-
The projects included in the community build are all forked and located in
52-
[dotty-staging](https://github.com/dotty-staging). When something needs to be
53-
bumped the process is as follows:
54-
55-
1. Fork the dotty staging repo and sync it with the upstream project.
56-
57-
2. Once you've verified that the tests are all passing you can then either
58-
request in your PR that the dotty-staging fork be synced or in the
59-
[scala-contributors](https://discord.com/channels/632150470000902164/632628489719382036)
60-
discord channel.
61-
62-
### Some helpful tips
63-
64-
- If you're unfamiliar with Git Submodules you can find a nice guide to get
65-
familiar with them [here](https://git-scm.com/book/en/v2/Git-Tools-Submodules).
66-
- Keep in mind that many projects are interrelated. So when you bump one that
67-
change may cascade through multiple different projects causing you to have
68-
to bump multiple. Plan accordingly and at times it's best to pin it to a
69-
stable release version, especially if it's a root library that many others
70-
in the community build are relying on.
71-
72-
## Looking for the "unmanaged" Scala 3 community build?
73-
74-
You can find this [here](https://github.com/VirtusLab/community-build3).
75-
3+
For information on the community build check out the [Community Build section of
4+
the Contributing
5+
Docs](https://dotty.epfl.ch/docs/contributing/community-build.html).
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
layout: doc-page
3+
title: Community Build
4+
---
5+
6+
The Community Build contains tests to build and test a corpus of open sources
7+
Scala projects against the latest version of Scala 3.
8+
9+
## Running it locally
10+
11+
To run the community build on a local machine, first fetch all the git
12+
submodules with `git submodule update --init` and run `sbt community-build/test`
13+
from the root of the dotty repo.
14+
15+
To run a single project, you can use the usual syntax for running a single JUnit
16+
test, for example `community-build/testOnly -- *shapeless`
17+
18+
In CI the community build is split up into 3 separate groups: A, B, and C. To
19+
run one specific build you can also use the same JUnit syntax as above targeting
20+
the individual group. For example:
21+
22+
```
23+
sbt "community-build/testOnly dotty.communitybuild.CommunityBuildTestA"
24+
```
25+
26+
## Adding your project
27+
28+
The community build is able to handle both Mill and sbt projects. To add your
29+
project to the community build you can follow these steps:
30+
31+
1. Ensure your project is compiling with Scala 3. If you need help make sure to
32+
check out the [Scala 3 Migration
33+
Guide](https://docs.scala-lang.org/scala3/guides/migration/compatibility-intro.html).
34+
You can see the submodules in
35+
[community-projects](https://github.com/lampepfl/dotty/tree/main/community-build/community-projects/)
36+
for examples of projects that compile with Scala 3.
37+
38+
2. Open a PR against this repo that:
39+
- Adds your project as a new git submodule
40+
- `git submodule add https://github.com/dotty-staging/XYZ.git community-build/community-projects/XYZ`
41+
- Add the project to [projects.scala](https://github.com/lampepfl/dotty/blob/main/community-build/src/scala/dotty/communitybuild/projects.scala)
42+
- Adds a test in [CommunityBuildTest.scala](https://github.com/lampepfl/dotty/blob/main/community-build/test/scala/dotty/communitybuild/CommunityBuildTest.scala)
43+
44+
3. Once the CI is green, someone from the Dotty team will fork your repo and add
45+
it to [dotty-staging](https://github.com/dotty-staging). This enables us to
46+
make changes to your fork if necessary to keep the community build running
47+
smoothly.
48+
49+
4. Once the fork is created, please update your PR to point to this new fork
50+
instead of your repo.
51+
52+
## Updating a project
53+
54+
The projects included in the community build are all forked and located in
55+
[dotty-staging](https://github.com/dotty-staging). When something needs to be
56+
bumped the process is as follows:
57+
58+
1. Fork the dotty staging repo and sync it with the upstream project.
59+
60+
2. Once you've verified that the tests are all passing you can then either
61+
request in your PR that the dotty-staging fork be synced or in the
62+
[scala-contributors](https://discord.com/channels/632150470000902164/632628489719382036)
63+
discord channel.
64+
65+
### Some helpful tips
66+
67+
- If you're unfamiliar with Git Submodules you can find a nice guide to get
68+
familiar with them [here](https://git-scm.com/book/en/v2/Git-Tools-Submodules).
69+
- Keep in mind that many projects are interrelated. So when you bump one that
70+
change may cascade through multiple different projects causing you to have
71+
to bump multiple. Plan accordingly and at times it's best to pin it to a
72+
stable release version, especially if it's a root library that many others
73+
in the community build are relying on.
74+
75+
## Looking for the "unmanaged" Scala 3 community build?
76+
77+
You can find this [here](https://github.com/VirtusLab/community-build3).

docs/sidebar.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ subsection:
179179
- page: contributing/debugging/other-debugging.md
180180
- page: contributing/testing.md
181181
- page: contributing/scaladoc.md
182+
- page: contributing/community-build.md
182183
- page: contributing/sending-in-a-pr.md
183184
- page: contributing/cheatsheet.md
184185
- title: Procedures

0 commit comments

Comments
 (0)