GHA: Enable Testing #1237
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Pull request | |
| permissions: | |
| contents: read | |
| on: | |
| pull_request: | |
| types: [opened, reopened, synchronize] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build-and-test: | |
| needs: [soundness] | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| executableTargetBuildSystem: ["native", "swiftbuild"] | |
| buildSystem: ["native", "swiftbuild"] | |
| linuxSwiftVersion: ['["nightly-main", "nightly-6.3"]', '["nightly-main"]'] | |
| # exclude: | |
| # - buildSystem: "swiftbuild" | |
| # linuxSwiftVersion: '["nightly-main", "nightly-6.3"]' | |
| # - buildSystem: "native" | |
| # linuxSwiftVersion: '["nightly-main"]' | |
| name: "Build and Test (${{ matrix.buildSystem }}) (exectable target built using ${{ matrix.executableTargetBuildSystem }})" | |
| # uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@0.0.9 | |
| uses: bkhouri/github-workflows/.github/workflows/swift_package_test.yml@t/main/gh144_support_publishing_test_results | |
| with: | |
| linux_publish_test_results: true | |
| 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: 'set -x; 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}} --experimental-xunit-message-failure --xunit-output linux-xunit.xml' | |
| # windows_os_versions: '["windows-2022", "windows-11-arm"]' | |
| windows_build_timeout: 240 | |
| windows_swift_versions: '["nightly-main"]' | |
| windows_pre_build_command: 'Invoke-Program .\.github\scripts\prebuild.ps1' | |
| windows_publish_test_results: true | |
| 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}}; Invoke-Program swift run --build-system ${{ matrix.executableTargetBuildSystem }} -Xlinker /ignore:4217 --configuration release swift-test -Xlinker /ignore:4217 --parallel --build-system ${{ matrix.buildSystem}} --experimental-xunit-message-failure --xunit-output windows-xunit.xml' | |
| enable_windows_checks: true | |
| enable_ios_checks: false | |
| enable_macos_checks: true | |
| macos_publish_test_results: true | |
| macos_exclude_xcode_versions: "[{\"xcode_version\": \"16.4\"}]" # Need to run against macOS OSS Toolchain: https://github.com/swiftlang/github-workflows/issues/240 | |
| macos_build_command: 'set -x; 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}} --experimental-xunit-message-failure --xunit-output macos-xunit.xml' | |
| ios_publish_test_results: true | |
| ios_build_command: 'set -x; 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 --experimental-xunit-message-failure --xunit-output ios-xunit.xml' | |
| tests-without-docker: | |
| name: "Build and Test without Docker (${{ matrix.buildSystem }}) (exectable target built using ${{ matrix.executableTargetBuildSystem }})" | |
| uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@0.0.9 | |
| needs: [soundness] | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| executableTargetBuildSystem: ["native"] | |
| buildSystem: ["native", "swiftbuild"] | |
| with: | |
| enable_linux_checks: false | |
| enable_macos_checks: false | |
| enable_windows_docker: false | |
| windows_build_timeout: 240 | |
| windows_pre_build_command: 'Invoke-Program .\.github\scripts\prebuild.ps1' | |
| windows_swift_versions: '["nightly-main", "nightly-6.3"]' | |
| 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}}' | |
| # windows_os_versions: '["windows-2022", "windows-11-arm"]' | |
| # 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.9 | |
| # 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: 'set -x; swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem }}' | |
| # enable_windows_checks: false | |
| # windows_build_timeout: 180 | |
| # windows_swift_versions: '["nightly-main"]' | |
| # windows_pre_build_command: 'Invoke-Program .\.github\scripts\prebuild.ps1' | |
| # windows_build_command: 'Invoke-Program swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem }}' | |
| # enable_ios_checks: false | |
| # enable_macos_checks: true | |
| # macos_exclude_xcode_versions: "[{\"xcode_version\": \"16.3\"}, {\"xcode_version\": \"16.4\"}]" | |
| # macos_build_command: 'set -x; swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem }}' | |
| # ios_build_command: 'set -x; 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 | |
| uses: swiftlang/github-workflows/.github/workflows/soundness.yml@0.0.9 | |
| with: | |
| license_header_check_project_name: "Swift" | |
| license_header_check_enabled: true | |
| unacceptable_language_check_enabled: true | |
| 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 |