Skip to content

Fix "'retroactive' attribute does not apply here" error when using Xc… #209

Fix "'retroactive' attribute does not apply here" error when using Xc…

Fix "'retroactive' attribute does not apply here" error when using Xc… #209

Workflow file for this run

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"
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"
revision: cb53fa1bd3219b0b23ded7dfdd3b2baff266fd25
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