diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 5e495e0f..b719af1a 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -1,5 +1,7 @@ name: Check +# TODO fail-fast or whatever it's called + on: workflow_dispatch: pull_request: @@ -9,23 +11,40 @@ on: jobs: check: runs-on: macos-latest - # TODO Xcode versions (multiple?) + strategy: + fail-fast: false + matrix: + xcode-version: [15.3, 16-beta] steps: - uses: actions/checkout@v4 + - uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: ${{ matrix.xcode-version }} + - run: npm ci + - run: script/format/check - run: script/lint/check + # https://forums.swift.org/t/warnings-as-errors-for-libraries-frameworks/58393/2 - run: swift build -Xswiftc -warnings-as-errors - run: swift test check-on-platforms: runs-on: macos-latest + strategy: + fail-fast: false matrix: + xcode-version: [15.3, 16-beta] platform: [macOS, iOS, tvOS] + steps: - uses: actions/checkout@v4 + - uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: ${{ matrix.xcode-version }} + # TODO OS version, and ambiguity in platforms, and no match - run: xcodebuild -scheme AblyChat -destination "platform=${{ matrix.platform }}" - run: xcodebuild test -scheme AblyChat -destination "platform=${{ matrix.platform }}" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e985a744..e934b20d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,3 +31,7 @@ and then we also take the minimum of these and ably-cocoa (which at time of writ TODO let's see what Xcode 16 says too though — OK, doesn’t seem any different in Beta 3 TODO we probably also have to take into account which simulators are available on the version of Xcode we're using, _and_ which are installed on the GitHub runner + +## Xcode versions + +TODO explain how we choose which Xcode version to test on diff --git a/README.md b/README.md index e2fe0322..dcd34e03 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,4 @@ TODO ## Requirements -- Swift 5.10 (that is, Xcode 15.3) or later +- Swift 5.10 (that is, Xcode 15.3) or later (TODO choose what's right to use here)