Skip to content

Commit 1a9d67d

Browse files
committed
GHA: Simplify and reduct number of jobs
Now that SwiftPM on SwiftBuild is in a good shape, let's update the GitHub actions to only build against the default build system. SwiftBuild is the default on nightly-main, while the native build system is the default on nightly 6.2. The GitHub actions are still running against nightly 6.2 to have the same environment as the Jenkins CI self hosted pipeline equivalent. Relates to #9427 Issue: rdar://165491718 (cherry picked from commit 89c6c4c)
1 parent 3da815a commit 1a9d67d

2 files changed

Lines changed: 13 additions & 58 deletions

File tree

.github/workflows/pull_request.yml

Lines changed: 11 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -16,62 +16,24 @@ jobs:
1616
needs: [soundness]
1717
strategy:
1818
fail-fast: false
19-
matrix:
20-
executableTargetBuildSystem: ["native"]
21-
buildSystem: ["native", "swiftbuild"]
22-
linuxSwiftVersion: ['["nightly-main", "nightly-6.2"]', '["nightly-main"]']
23-
exclude:
24-
- buildSystem: "swiftbuild"
25-
linuxSwiftVersion: '["nightly-main", "nightly-6.2"]'
26-
- buildSystem: "native"
27-
linuxSwiftVersion: '["nightly-main"]'
28-
name: Build (${{ matrix.buildSystem }}) (exectable target built using ${{ matrix.executableTargetBuildSystem }})
19+
name: Build
2920
uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@0.0.11
3021
with:
3122
enable_cross_pr_testing: true
3223
linux_os_versions: '["amazonlinux2", "bookworm", "noble", "jammy", "rhel-ubi9"]'
33-
linux_swift_versions: ${{ matrix.linuxSwiftVersion }}
24+
linux_swift_versions: '["nightly-main", "nightly-6.2"]'
3425
linux_pre_build_command: ./.github/scripts/prebuild.sh
35-
linux_build_command: 'swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem}}'
36-
# linux_build_command: 'swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem}} && swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-test --parallel --build-system ${{ matrix.buildSystem}}'
26+
linux_build_command: 'swift run swift-build --build-tests'
3727
windows_build_timeout: 180
38-
windows_swift_versions: '["nightly-main"]'
28+
windows_swift_versions: '["nightly-main", "nightly-6.2"]'
3929
windows_pre_build_command: 'Invoke-Program .\.github\scripts\prebuild.ps1'
40-
windows_build_command: 'Invoke-Program swift run -Xlinker /ignore:4217 --configuration release --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests -Xlinker /ignore:4217 --build-system ${{ matrix.buildSystem}}'
41-
# windows_build_command: 'Invoke-Program swift run -Xlinker /ignore:4217 --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests -Xlinker /ignore:4217 --build-system ${{ matrix.buildSystem}}; Invoke-Program swift run --build-system ${{ matrix.executableTargetBuildSystem }} -Xlinker /ignore:4217 swift-test -Xlinker /ignore:4217 --parallel --build-system ${{ matrix.buildSystem}}'
30+
windows_build_command: 'Invoke-Program swift run -Xlinker /ignore:4217 --configuration release swift-build --build-tests --scratch-path .tests'
4231
enable_windows_checks: true
43-
enable_ios_checks: false
4432
enable_macos_checks: true
4533
macos_exclude_xcode_versions: "[{\"xcode_version\": \"16.4\"}]"
46-
macos_build_command: 'swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem}}'
47-
# macos_build_command: 'swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem}} && swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-test --parallel --build-system ${{ matrix.buildSystem}}'
48-
ios_build_command: 'swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem}} --sdk \"$(xcrun --sdk iphoneos --show-sdk-path)\" --triple arm64-apple-ios'
49-
# ios_build_command: 'swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem}} --sdk \"$(xcrun --sdk iphoneos --show-sdk-path)\" --triple arm64-apple-ios && swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-test --parallel --build-system ${{ matrix.buildSystem }} --sdk \"$(xcrun --sdk iphoneos --show-sdk-path)\" --triple arm64-apple-ios'
50-
51-
build-using-swiftbuild:
52-
strategy:
53-
fail-fast: false
54-
matrix:
55-
executableTargetBuildSystem: ["swiftbuild"]
56-
buildSystem: ["swiftbuild"]
57-
name: Build (${{ matrix.buildSystem }}) (exectable target built using ${{ matrix.executableTargetBuildSystem }})
58-
needs: [soundness]
59-
uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@0.0.11
60-
with:
61-
linux_os_versions: '["amazonlinux2", "bookworm", "noble", "jammy", "rhel-ubi9"]'
62-
linux_swift_versions: '["nightly-main"]'
63-
linux_pre_build_command: ./.github/scripts/prebuild.sh
64-
linux_build_command: 'swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem }}'
65-
enable_windows_checks: false
66-
windows_build_timeout: 180
67-
windows_swift_versions: '["nightly-main"]'
68-
windows_pre_build_command: 'Invoke-Program .\.github\scripts\prebuild.ps1'
69-
windows_build_command: 'Invoke-Program swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem }}'
34+
macos_build_command: 'swift run swift-build --build-tests'
7035
enable_ios_checks: false
71-
enable_macos_checks: true
72-
macos_exclude_xcode_versions: "[{\"xcode_version\": \"16.3\"}, {\"xcode_version\": \"16.4\"}]"
73-
macos_build_command: 'swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem }}'
74-
ios_build_command: 'swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem }} --sdk \"$(xcrun --sdk iphoneos --show-sdk-path)\" --triple arm64-apple-ios'
36+
# ios_build_command: 'swift run swift-build --build-tests --sdk \"$(xcrun --sdk iphoneos --show-sdk-path)\" --triple arm64-apple-ios'
7537

7638
soundness:
7739
name: Soundness
@@ -88,8 +50,8 @@ jobs:
8850
python_lint_check_enabled: true
8951
yamllint_check_enabled: true
9052

91-
wasm-integration-tests:
92-
name: Wasm Integration Tests
53+
integration-tests:
54+
name: Integration Tests
9355
needs: [soundness]
9456
uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@0.0.11
9557
with:
@@ -100,18 +62,9 @@ jobs:
10062
wasm_sdk_versions: '["nightly-main"]'
10163
wasm_sdk_pre_build_command: ./.github/scripts/prebuild.sh
10264
# This is a hack - replace the build command with a test command and drop the --swift-sdk arg the workflow appends.
103-
wasm_sdk_build_command: "swift test --filter WebAssemblyIntegrationTests #"
104-
105-
static-linux-integration-tests:
106-
name: Static Linux Integration Tests
107-
needs: [soundness]
108-
uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@0.0.11
109-
with:
110-
enable_linux_checks: false
111-
enable_windows_checks: false
112-
enable_macos_checks: false
65+
wasm_sdk_build_command: "swift test --parallel --experimental-xunit-message-failure --xunit-output wasm-xunit.xml --filter WebAssemblyIntegrationTests #"
11366
enable_linux_static_sdk_build: true
11467
linux_static_sdk_versions: '["nightly-main"]'
11568
linux_static_sdk_pre_build_command: ./.github/scripts/prebuild.sh
11669
# This is a hack - replace the build command with a test command and drop the --swift-sdk arg the workflow appends.
117-
linux_static_sdk_build_command: "swift test --filter StaticLinuxIntegrationTests #"
70+
linux_static_sdk_build_command: "swift test --parallel --experimental-xunit-message-failure --xunit-output static-linux-xunit.xml --filter StaticLinuxIntegrationTests #"

.github/workflows/pull_request_dependency_check.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
name: Pull Request
2+
13
on:
24
pull_request_target:
35
types: [opened, edited, reopened, labeled, unlabeled, synchronize]

0 commit comments

Comments
 (0)