You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1.[Source build repos and the VMR](#source-build-repos-and-the-vmr)
9
-
1.[Validate](#validate)
3
+
This document describes the overall process of onboarding repos onto source build.
10
4
11
5
## Source Build Configuration
12
6
13
7
### Trying it out locally
14
8
15
-
If a repo passes build options through to the common arcade build script, a
16
-
source build can be triggered via the following command.
9
+
If a repo passes build options through to the common arcade build script, a source build can be triggered via the following command.
17
10
18
11
```bash
19
12
./build.sh -sb
20
13
```
21
14
22
-
> Note: [source build is not supported on
23
-
Windows](https://github.com/dotnet/source-build/issues/1190), only Linux and
24
-
macOS.
25
-
26
-
### Excluding components
15
+
> Note: [source build is only supported on linux](https://github.com/dotnet/source-build/?tab=readme-ov-file#support).
27
16
28
-
It is not always necessary or correct to include all repo components in source
29
-
build. Components should be excluded if they are not required for the platform
30
-
being source-built. Including them expands the source build graph and may not
31
-
be possible because of licensing. Examples include tests, Windows components
32
-
(remember source build currently only supports Linux and macOS), etc. To exlcude
33
-
these components use the `DotNetBuildSourceOnly` msbuild property to
34
-
conditionally exclude.
17
+
### Excluding platform-specific components
35
18
36
-
```code
37
-
Condition="'$(DotNetBuildSourceOnly)' != 'true'"
38
-
```
39
-
40
-
See the [Unified Build Controls](https://github.com/dotnet/dotnet/blob/main/docs/VMR-Controls.md)
41
-
for more options on how to exclude components from source build.
19
+
See the [platform-specific components guidelines](./build-info.md#platform-specific-components) for guidance on excluding components based on platform requirements rather than source-build specific reasons.
42
20
43
21
## Setup CI
44
22
45
-
Source build should run in PR validation builds, to prevent regressions.
23
+
**Repository-level source build CI legs are optional.**
24
+
Consider adding them only if your repository has many source-build specific conditions or complex source-build scenarios.
25
+
If you have a lot of source-build specific conditions, this is when you should consider adding repo-level CI legs.
46
26
47
-
Source build CI can be activated with a single flag in the ordinary Arcade SDK
48
-
jobs template for easy consumption. If a repo can't simply use the Arcade SDK
49
-
jobs template, more granular templates are also available.
27
+
Source build CI can be activated with a single flag in the ordinary Arcade SDK jobs template for easy consumption.
28
+
If a repo can't simply use the Arcade SDK jobs template, more granular templates are also available.
50
29
51
-
See <https://github.com/dotnet/arcade/tree/main/eng/common/templates> for the
52
-
current template source code. The inline comments in the `parameters:` section
53
-
in those files are the most up to date docs, maintained with higher priority
54
-
than this general onboarding doc.
30
+
See <https://github.com/dotnet/arcade/tree/main/eng/common/templates> for the current template source code.
31
+
The inline comments in the `parameters:` section in those files are the most up to date docs, maintained with higher priority than this general onboarding doc.
were added to the system and everything is functioning correctly.
186
-
If you need help on addressing any prebuilds, reach out to @source-build.
114
+
In order to fully onboard a repo into source build, the repo must be included within the VMR. The [Repository Onboarding Guide](https://github.com/dotnet/dotnet/blob/main/docs/Repository-Onboarding.md) contains the comprehensive VMR onboarding guidance which includes among several other topics, resolving source build prebuilts.
0 commit comments