Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 22 additions & 10 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,12 @@ concurrency:
cancel-in-progress: true

jobs:
tests-using-native:
tests:
needs: [soundness]
strategy:
fail-fast: false
matrix:
executableTargetBuildSystem: ["native"]
buildSystem: ["native", "swiftbuild"]
linuxSwiftVersion: ['["nightly-main", "nightly-6.2"]', '["nightly-main"]']
enable_windows_checks: [true]
Expand All @@ -27,39 +28,46 @@ jobs:
enable_windows_checks: true
- buildSystem: "native"
linuxSwiftVersion: '["nightly-main"]'
name: Test (${{ matrix.buildSystem }})
name: Test (${{ matrix.buildSystem }}) (exectable target built using ${{ matrix.executableTargetBuildSystem }})
uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@0.0.2
with:
linux_os_versions: '["amazonlinux2", "bookworm", "noble", "jammy", "rhel-ubi9"]'
linux_swift_versions: ${{ matrix.linuxSwiftVersion }}
linux_pre_build_command: ./.github/scripts/prebuild.sh
linux_build_command: 'swift run swift-build --build-tests --build-system ${{ matrix.buildSystem}}'
linux_build_command: 'swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests && swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-test --parallel --build-system ${{ matrix.buildSystem}}'
windows_swift_versions: '["nightly-main"]'
windows_pre_build_command: 'Invoke-Program .\.github\scripts\prebuild.ps1'
windows_build_command: 'Invoke-Program swift run swift-build --build-tests --build-system ${{ matrix.buildSystem}}'
windows_build_command: 'Invoke-Program swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests && swift run --build-system ${{ matrix.executableTargetBuildSystem }} -Xlinker /ignore:4217 swift-test -Xlinker /ignore:4217 --parallel --build-system ${{ matrix.buildSystem}}'
enable_windows_checks: ${{ matrix.enable_windows_checks }}
enable_ios_checks: true
enable_macos_checks: true
macos_exclude_xcode_versions: "[{\"xcode_version\": \"16.3\"}, {\"xcode_version\": \"16.4\"}]"
macos_build_command: 'swift run swift-build --build-tests --build-system ${{ matrix.buildSystem}}'
macos_build_command: 'swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests && swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-test --parallel --build-system ${{ matrix.buildSystem}}'
ios_build_command: 'swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests && swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-test --parallel --build-system ${{ matrix.buildSystem }} --sdk \"$(xcrun --sdk iphoneos --show-sdk-path)\" --triple arm64-apple-ios'

tests-using-swiftbuild:
name: Test (all SwiftBuild)
build-using-swiftbuild:
strategy:
fail-fast: false
matrix:
executableTargetBuildSystem: ["swiftbuild"]
buildSystem: ["swiftbuild"]
name: Build (${{ matrix.buildSystem }}) (exectable target built using ${{ matrix.executableTargetBuildSystem }})
needs: [soundness]
uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@0.0.2
with:
linux_os_versions: '["amazonlinux2", "bookworm", "noble", "jammy", "rhel-ubi9"]'
linux_swift_versions: '["nightly-main"]'
linux_pre_build_command: ./.github/scripts/prebuild.sh
linux_build_command: 'swift run --build-system swiftbuild swift-build --build-tests --build-system swiftbuild'
linux_build_command: 'swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem }}'
enable_windows_checks: false
windows_swift_versions: '["nightly-main"]'
windows_pre_build_command: 'Invoke-Program .\.github\scripts\prebuild.ps1'
windows_build_command: 'Invoke-Program swift run --build-system swiftbuild swift-build --build-tests --build-system swiftbuild'
windows_build_command: 'Invoke-Program swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem }}'
enable_ios_checks: true
enable_macos_checks: true
macos_exclude_xcode_versions: "[{\"xcode_version\": \"16.3\"}, {\"xcode_version\": \"16.4\"}]"
macos_build_command: 'swift run --build-system swiftbuild swift-build --build-tests --build-system swiftbuild'
macos_build_command: 'swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem }}'
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'

soundness:
name: Soundness
Expand All @@ -71,3 +79,7 @@ jobs:
api_breakage_check_enabled: false
format_check_enabled: false
shell_check_enabled: false
docs_check_enabled: true
broken_symlink_check_enabled: true
python_lint_check_enabled: true
yamllint_check_enabled: true
2 changes: 1 addition & 1 deletion Utilities/build-using-self
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,7 @@ def main() -> None:
*args.additional_run_args.split(" "),
"swift-test",
*global_args,
"--vv",
# "--vv",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: why turn off very verbose here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find it significantly increases the log, making it difficult for view the console logs in Jenkins - not sure how GitHub Actions handles the larges logs.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, it's my understanding it was added by @daveinglis to help troubleshoot CI build failure in a PR.

"--force-resolved-versions",
"--parallel",
"--scratch-path",
Expand Down
Loading