Skip to content

Commit 7fef43f

Browse files
committed
Add GitHub action to run tests using swift-syntax-dev-utils
swift-syntax-dev-utils also runs the CodeGeneration and Examples tests. It is also a convenient place where we can enable RawSyntax validation and test fuzzing. Running this using only the latest Swift version should be sufficient because we don't expect to find differences between versions here and expect contributors to swift-syntax to use the latests released Swift version anyway.
1 parent f2a32a7 commit 7fef43f

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

.github/workflows/pull_request.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,42 @@ jobs:
1717
docs_check_enabled: false
1818
# https://github.com/swiftlang/swift-syntax/issues/2988
1919
format_check_enabled: false
20+
test_using_swift_syntax_dev_utils_linux:
21+
name: Run tests using swift-syntax-dev-utils (Linux)
22+
runs-on: ubuntu-latest
23+
container:
24+
image: swift:latest
25+
steps:
26+
- name: Checkout repository
27+
uses: actions/checkout@v4
28+
with:
29+
persist-credentials: false
30+
- name: Test
31+
run: "./swift-syntax-dev-utils test --enable-rawsyntax-validation --enable-test-fuzzing --toolchain /usr"
32+
test_using_swift_syntax_dev_utils_windows:
33+
name: Run tests using swift-syntax-dev-utils (Windows)
34+
runs-on: windows-2022
35+
steps:
36+
- name: Pull Docker image
37+
id: pull_docker_image
38+
run: |
39+
$Image = "swift:windowsservercore-ltsc2022"
40+
docker pull $Image
41+
echo "image=$Image" >> "$env:GITHUB_OUTPUT"
42+
- name: Checkout repository
43+
uses: actions/checkout@v4
44+
with:
45+
persist-credentials: false
46+
- name: Test
47+
run: |
48+
mkdir $env:TEMP\test-script
49+
echo @'
50+
Set-PSDebug -Trace 1
51+
52+
$SwiftPath = where.exe swift
53+
swift.exe run --package-path "C:\Source\SwiftSyntaxDevUtils" swift-syntax-dev-utils test --enable-rawsyntax-validation --enable-test-fuzzing --toolchain "$SwiftPath\..\.."
54+
if ($LastExitCode -ne 0) {
55+
exit $LastExitCode
56+
}
57+
'@ >> $env:TEMP\test-script\run.ps1
58+
docker run -v ${{ github.workspace }}:C:\source -v $env:TEMP\test-script:C:\test-script ${{ steps.pull_docker_image.outputs.image }} powershell.exe -NoLogo -File C:\test-script\run.ps1

Examples/Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ let package = Package(
1313
.executable(name: "CodeGenerationUsingSwiftSyntaxBuilder", targets: ["CodeGenerationUsingSwiftSyntaxBuilder"]),
1414
],
1515
dependencies: [
16-
.package(path: "../")
16+
.package(name: "swift-syntax", path: "../")
1717
],
1818
targets: [
1919
.executableTarget(

0 commit comments

Comments
 (0)