Use Swift Build's buildTargetInfo API instead of hardcoding platform info #1105
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: | |
| needs: [soundness] | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| executableTargetBuildSystem: ["native"] | |
| buildSystem: ["native", "swiftbuild"] | |
| linuxSwiftVersion: ['["nightly-main", "nightly-6.2"]', '["nightly-main"]'] | |
| exclude: | |
| - buildSystem: "swiftbuild" | |
| linuxSwiftVersion: '["nightly-main", "nightly-6.2"]' | |
| - buildSystem: "native" | |
| linuxSwiftVersion: '["nightly-main"]' | |
| name: Build (${{ matrix.buildSystem }}) (exectable target built using ${{ matrix.executableTargetBuildSystem }}) | |
| uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@0.0.8 | |
| 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 --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem}}' | |
| # 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}}' | |
| 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 -Xlinker /ignore:4217 --configuration release --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests -Xlinker /ignore:4217 --build-system ${{ matrix.buildSystem}}' | |
| # 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}}' | |
| enable_windows_checks: true | |
| enable_ios_checks: false | |
| enable_macos_checks: true | |
| macos_exclude_xcode_versions: "[{\"xcode_version\": \"16.3\"}, {\"xcode_version\": \"16.4\"}]" | |
| macos_build_command: 'swift run --build-system ${{ matrix.executableTargetBuildSystem }} swift-build --build-tests --build-system ${{ matrix.buildSystem}}' | |
| # 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}}' | |
| 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' | |
| # 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' | |
| 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.8 | |
| 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 ${{ 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: '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 | |
| uses: swiftlang/github-workflows/.github/workflows/soundness.yml@0.0.8 | |
| 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 |