Migrate GitHub AI workflows to Codex #2174
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: Compatibility tests | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| compatibility_tests_macos: | |
| name: Execute compatibility tests for macOS | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [macos-15] | |
| xcode-version: ["16.4"] | |
| release: [2024] | |
| # Limit to self-hosted to reduce action cost | |
| runs-on: | |
| - self-hosted | |
| - ${{ matrix.os }} | |
| env: | |
| OPENSWIFTUI_WERROR: 0 # Disable it to avoid enable OAG's werror and hit conflicts | |
| OPENSWIFTUI_OPENATTRIBUTESHIMS_ATTRIBUTEGRAPH: 1 | |
| OPENSWIFTUI_SWIFT_LOG: 0 | |
| OPENSWIFTUI_SWIFT_CRYPTO: 0 | |
| OPENSWIFTUI_TARGET_RELEASE: ${{ matrix.release }} | |
| OPENSWIFTUI_USE_LOCAL_DEPS: 1 | |
| OPENSWIFTUI_LINK_TESTING: 1 | |
| GH_TOKEN: ${{ github.token }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Xcode | |
| uses: OpenSwiftUIProject/setup-xcode@v2 | |
| with: | |
| xcode-version: ${{ matrix.xcode-version }} | |
| - name: Set up build environment | |
| run: Scripts/CI/darwin_setup_build.sh | |
| shell: bash | |
| - name: Install xcbeautify | |
| run: brew install xcbeautify | |
| - name: Run compatibility tests on OpenSwiftUI + macOS | |
| run: | | |
| set -o pipefail | |
| NSUnbufferedIO=YES swift test \ | |
| --filter OpenSwiftUICompatibilityTests \ | |
| --build-path .build-compatibility-test-debug \ | |
| 2>&1 | xcbeautify --renderer github-actions --preserve-unbeautified | |
| env: | |
| OPENSWIFTUI_COMPATIBILITY_TEST: 0 | |
| - name: Run compatibility tests on SwiftUI + macOS | |
| run: | | |
| set -o pipefail | |
| NSUnbufferedIO=YES swift test \ | |
| --filter OpenSwiftUICompatibilityTests \ | |
| --build-path .build-compatibility-test-debug \ | |
| 2>&1 | xcbeautify --renderer github-actions --preserve-unbeautified | |
| env: | |
| OPENSWIFTUI_COMPATIBILITY_TEST: 1 | |
| compatibility_tests_ios: | |
| name: Execute compatibility tests for iOS | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [macos-15] | |
| xcode-version: ["16.4"] | |
| release: [2024] | |
| ios-version: ["18.5"] | |
| include: | |
| - ios-version: "18.5" | |
| ios-simulator-name: "iPhone 16 Pro" | |
| # Limit to self-hosted to reduce action cost | |
| runs-on: | |
| - self-hosted | |
| - ${{ matrix.os }} | |
| env: | |
| OPENSWIFTUI_WERROR: 0 # Disable it to avoid enable OAG's werror and hit conflicts | |
| OPENSWIFTUI_OPENATTRIBUTESHIMS_ATTRIBUTEGRAPH: 1 | |
| OPENSWIFTUI_SWIFT_LOG: 0 | |
| OPENSWIFTUI_SWIFT_CRYPTO: 0 | |
| OPENSWIFTUI_TARGET_RELEASE: ${{ matrix.release }} | |
| OPENSWIFTUI_SUPPORT_MULTI_PRODUCTS: 0 | |
| OPENSWIFTUI_USE_LOCAL_DEPS: 1 | |
| OPENSWIFTUI_LINK_TESTING: 1 | |
| GH_TOKEN: ${{ github.token }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Xcode | |
| uses: OpenSwiftUIProject/setup-xcode@v2 | |
| with: | |
| xcode-version: ${{ matrix.xcode-version }} | |
| - name: Set up build environment | |
| run: Scripts/CI/darwin_setup_build.sh | |
| shell: bash | |
| - name: Install xcbeautify | |
| run: brew install xcbeautify | |
| - name: Run compatibility tests on OpenSwiftUI + iOS | |
| run: | | |
| set -o pipefail | |
| NSUnbufferedIO=YES xcodebuild test \ | |
| -scheme OpenSwiftUI \ | |
| -configuration Debug \ | |
| -destination "platform=iOS Simulator,OS=${{ matrix.ios-version }},name=${{ matrix.ios-simulator-name }}" \ | |
| -only-testing:OpenSwiftUICompatibilityTests \ | |
| -skipMacroValidation \ | |
| -skipPackagePluginValidation \ | |
| 2>&1 | xcbeautify --renderer github-actions --preserve-unbeautified | |
| env: | |
| OPENSWIFTUI_COMPATIBILITY_TEST: 0 | |
| - name: Run compatibility tests on SwiftUI + iOS | |
| run: | | |
| set -o pipefail | |
| NSUnbufferedIO=YES xcodebuild test \ | |
| -scheme OpenSwiftUI \ | |
| -configuration Debug \ | |
| -destination "platform=iOS Simulator,OS=${{ matrix.ios-version }},name=${{ matrix.ios-simulator-name }}" \ | |
| -only-testing:OpenSwiftUICompatibilityTests \ | |
| -skipMacroValidation \ | |
| -skipPackagePluginValidation \ | |
| 2>&1 | xcbeautify --renderer github-actions --preserve-unbeautified | |
| env: | |
| OPENSWIFTUI_COMPATIBILITY_TEST: 1 |