Skip to content

Commit 517bf7d

Browse files
committed
Enable cross-PR testing
1 parent d82d736 commit 517bf7d

File tree

3 files changed

+32
-10
lines changed

3 files changed

+32
-10
lines changed

.github/workflows/pull_request.yml

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,20 @@ jobs:
88
tests:
99
name: Test
1010
uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@main
11-
soundness:
12-
name: Soundness
13-
uses: swiftlang/github-workflows/.github/workflows/soundness.yml@main
1411
with:
15-
license_header_check_enabled: false
16-
license_header_check_project_name: "Swift.org"
12+
enable_windows_checks: false
13+
linux_pre_build_command: |
14+
python3 cross-pr-checkout.py
15+
git clone https://github.com/swiftlang/swift-syntax.git ../swift-syntax
16+
git -C ../swift-syntax fetch origin pull/2859/merge:pr_merge
17+
git -C ../swift-syntax checkout main
18+
git -C ../swift-syntax reset --hard pr_merge
19+
git -C ../swift-syntax show
20+
git -C ../swift-syntax show main
21+
swift package config set-mirror --package-url https://github.com/swiftlang/swift-syntax.git --mirror-url "$(realpath ../swift-syntax)"
22+
# soundness:
23+
# name: Soundness
24+
# uses: swiftlang/github-workflows/.github/workflows/soundness.yml@main
25+
# with:
26+
# license_header_check_enabled: false
27+
# license_header_check_project_name: "Swift.org"

Sources/SwiftFormat/Rules/UseShorthandTypeNames.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public final class UseShorthandTypeNames: SyntaxFormatRule {
4848
switch node.name.text {
4949
case "Array":
5050
guard let argument = genericArgumentList.firstAndOnly,
51-
case .type(let typeArgument) = argument else {
51+
case .type(let typeArgument) = argument.argument else {
5252
newNode = nil
5353
break
5454
}
@@ -62,7 +62,7 @@ public final class UseShorthandTypeNames: SyntaxFormatRule {
6262
case "Dictionary":
6363
guard let arguments = exactlyTwoChildren(of: genericArgumentList),
6464
case .type(let type0Argument) = arguments.0.argument,
65-
caes .type(let type1Argument) = arguments.1.argument else {
65+
case .type(let type1Argument) = arguments.1.argument else {
6666
newNode = nil
6767
break
6868
}
@@ -79,7 +79,7 @@ public final class UseShorthandTypeNames: SyntaxFormatRule {
7979
break
8080
}
8181
guard let argument = genericArgumentList.firstAndOnly,
82-
case .type(let typeArgument) = argument else {
82+
case .type(let typeArgument) = argument.argument else {
8383
newNode = nil
8484
break
8585
}
@@ -143,7 +143,7 @@ public final class UseShorthandTypeNames: SyntaxFormatRule {
143143
switch expression.baseName.text {
144144
case "Array":
145145
guard let argument = genericArgumentList.firstAndOnly,
146-
case .type(let typeArgument) = argument else {
146+
case .type(let typeArgument) = argument.argument else {
147147
newNode = nil
148148
break
149149
}
@@ -172,7 +172,7 @@ public final class UseShorthandTypeNames: SyntaxFormatRule {
172172

173173
case "Optional":
174174
guard let argument = genericArgumentList.firstAndOnly,
175-
case .type(let typeArgument) = argument else {
175+
case .type(let typeArgument) = argument.argument else {
176176
newNode = nil
177177
break
178178
}

cross-pr-checkout.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import subprocess
2+
3+
def main():
4+
subprocess.check_call(["git", "clone", "https://github.com/swiftlang/swift-syntax.git", "swift-syntax"], cwd="..")
5+
subprocess.check_call(["git", "fetch", "origin", "pull/2859/merge:pr_merge"], cwd="../swift-syntax")
6+
subprocess.check_call(["git", "checkout", "main"])
7+
subprocess.check_call(["git", "reset", "--hard", "pr_merge"])
8+
subprocess.check_call(["swift", "package", "config", "set-mirror", "--package-url", "https://github.com/swiftlang/swift-syntax.git", "--mirror-url", "../swift-syntax"])
9+
10+
if __name__ == "__main__":
11+
main()

0 commit comments

Comments
 (0)