Tool - Support Swift 6 language mode (Strict Concurrency) (#112) #205
This file contains 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: "Tests" | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
validate-spi-manifest: | |
name: Validate SPI Manifest | |
runs-on: macos-14 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.4.app/Contents/Developer | |
VALIDATE_SPI_MANIFEST: YES | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
- name: Validate SPI Manifest | |
run: swift package plugin validate-spi-manifest | |
compile-snapshots: | |
name: Compile Snapshots (Swift ${{ matrix.swift-version }}) | |
runs-on: macos-14 | |
strategy: | |
fail-fast: false | |
matrix: | |
swift-version: ["5", "6"] | |
include: | |
- swift-version: "5" | |
xcode: "15.4" | |
- swift-version: "6" | |
xcode: "16.0" | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer | |
SWIFT_VERSION: ${{ matrix.swift-version }} | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
- name: Compile Snapshots | |
run: .github/scripts/compile-snapshots.sh | |
unit-test-xcode: | |
name: Unit Tests (Xcode ${{ matrix.xcode }}) | |
strategy: | |
fail-fast: false | |
matrix: | |
xcode: ["15.0", "15.2", "15.3", "15.4"] | |
include: | |
- xcode: "15.0" | |
macos: macOS-13 | |
- xcode: "15.2" | |
macos: macOS-14 | |
- xcode: "15.3" | |
macos: macOS-14 | |
- xcode: "15.4" | |
macos: macOS-14 | |
- xcode: "16.0" | |
macos: macOS-14 | |
runs-on: ${{ matrix.macos }} | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
- name: Downgrade swift-snapshot-testing | |
if: matrix.xcode == '16.0' | |
run: | | |
# Use 1.17.0 until macOS-14 runner is updated to Xcode 16 Beta 3 | |
# https://github.com/pointfreeco/swift-snapshot-testing/pull/869 | |
if xcodebuild -version | grep 16A5171r; then | |
jq '(.pins[] | select(.identity == "swift-snapshot-testing") | .state.revision) = "f6c51fa7609b1057ca5420127440413c54971ff6" | (.pins[] | select(.identity == "swift-snapshot-testing") | .state.version) = "1.17.0"' Package.resolved | sed 's/": /" : /g' > Package.resolved.tmp && mv Package.resolved.tmp Package.resolved | |
fi | |
- name: Run Tests | |
run: xcodebuild clean test -scheme XCStringsTool-Package -destination platform=macOS | |
unit-test-swift-syntax: | |
name: Unit Tests (Swift Syntax ${{ matrix.swift-syntax }}) | |
strategy: | |
fail-fast: false | |
matrix: | |
swift-syntax: | |
- "509.0.2" | |
- "509.1.1" | |
- "510.0.2" | |
- "600.0.0-prerelease-2024-06-12" | |
include: | |
- swift-syntax: "509.0.2" | |
revision: 6ad4ea24b01559dde0773e3d091f1b9e36175036 | |
- swift-syntax: "509.1.1" | |
revision: 64889f0c732f210a935a0ad7cda38f77f876262d | |
- swift-syntax: "510.0.2" | |
revision: 303e5c5c36d6a558407d364878df131c3546fad8 | |
- swift-syntax: "600.0.0-prerelease-2024-06-12" | |
revision: 4c6cc0a3b9e8f14b3ae2307c5ccae4de6167ac2c | |
runs-on: macOS-14 | |
env: | |
DEVELOPER_DIR: /Applications/Xcode_15.4.app/Contents/Developer | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
- name: Update Package Pins | |
run: | | |
jq '(.pins[] | select(.identity == "swift-syntax") | .state.revision) = "${{ matrix.revision }}" | (.pins[] | select(.identity == "swift-syntax") | .state.version) = "${{ matrix.swift-syntax }}"' Package.resolved | sed 's/": /" : /g' > Package.resolved.tmp && mv Package.resolved.tmp Package.resolved | |
git diff Package.resolved | |
- name: Run Tests | |
run: xcodebuild clean test -scheme XCStringsTool-Package -destination platform=macOS |