Skip to content

Commit 91a1bd2

Browse files
authored
[docs] Update Continuous Integration docs with cross repository testing info
1 parent 608621f commit 91a1bd2

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

docs/ContinuousIntegration.md

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -118,25 +118,32 @@ A validation test on Linux does the following:
118118

119119
## Cross Repository Testing
120120

121-
Currently @swift-ci pull request testing only supports testing changes against individual repositories. This is something that will most likely be fixed in the future. But in the short term, please follow the following workflow for performing cross repository testing:
121+
Simply provide the URL from corresponding pull requests in the same comment as "@swift-ci Please test" phrase. List all of the pull requests and then provide the specific test phrase you would like to trigger. Currently, it will only merge the main pull request you requested testing from as opposed to all of the PR's.
122122

123-
1. Make sure that all repos have been checked out:
123+
For example:
124124

125-
./swift/utils/update-checkout --clone
125+
```
126+
Please test with following pull request:
127+
https://github.com/apple/swift/pull/4574
126128
127-
2. On Darwin and Linux run:
129+
@swift-ci Please test Linux platform
130+
```
128131

129-
./swift/utils/build-toolchain local.swift
132+
```
133+
Please test with following PR:
134+
https://github.com/apple/swift-lldb/pull/48
135+
https://github.com/apple/swift-package-manager/pull/632
130136
131-
If everything passes, a .tar.gz package file will be produced in the . directory.
137+
@swift-ci Please test macOS platform
138+
```
132139

133-
3. Create a separate PR for each repository that needs to be changed. Each should reference the main Swift PR and create a reference to all of the others from the main PR.
140+
1. Create a separate PR for each repository that needs to be changed. Each should reference the main Swift PR and create a reference to all of the others from the main PR.
134141

135-
4. Gate all commits on @swift-ci smoke test and merge. As stated above, it is important that *all* checkins perform PR testing since if breakage enters the tree PR testing becomes less effective. If you have done local testing (using build-toolchain) and have made appropriate changes to the other repositories then perform a smoke test and merge should be sufficient for correctness. This is not meant to check for correctness in your commits, but rather to be sure that no one landed changes in other repositories or in swift that cause your PR to no longer be correct. If you were unable to make workarounds to th eother repositories, this smoke test will break *after* Swift has built. Check the log to make sure that it is the expected failure for that platform/repository that coincides with the failure your PR is supposed to fix.
142+
2. Gate all commits on @swift-ci smoke test and merge. As stated above, it is important that *all* checkins perform PR testing since if breakage enters the tree PR testing becomes less effective. If you have done local testing (using build-toolchain) and have made appropriate changes to the other repositories then perform a smoke test and merge should be sufficient for correctness. This is not meant to check for correctness in your commits, but rather to be sure that no one landed changes in other repositories or in swift that cause your PR to no longer be correct. If you were unable to make workarounds to th eother repositories, this smoke test will break *after* Swift has built. Check the log to make sure that it is the expected failure for that platform/repository that coincides with the failure your PR is supposed to fix.
136143

137-
5. Merge all of the pull requests simultaneously.
144+
3. Merge all of the pull requests simultaneously.
138145

139-
6. Watch the public incremental build on ci.swift.org to make sure that you did not make any mistakes. It should complete within 30-40 minutes depending on what else was being committed in the mean time.
146+
4. Watch the public incremental build on ci.swift.org to make sure that you did not make any mistakes. It should complete within 30-40 minutes depending on what else was being committed in the mean time.
140147

141148

142149
## ci.swift.org bots

0 commit comments

Comments
 (0)