Skip to content

Modernize CI workflows for current Xcode and Swift versions with Xcode 16.4 #239

Modernize CI workflows for current Xcode and Swift versions with Xcode 16.4

Modernize CI workflows for current Xcode and Swift versions with Xcode 16.4 #239

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- '*'
workflow_dispatch:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
library-tests:
name: Library Tests
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-14, macos-15]
xcode: ['15.4', '16.1']
config: ['debug', 'release']
exclude:
# Xcode 16.1 is not available on macOS 14
- os: macos-14
xcode: '16.1'
# Xcode 15.4 is not available on macOS 15
- os: macos-15
xcode: '15.4'
steps:
- uses: actions/checkout@v4
- name: Select Xcode ${{ matrix.xcode }}
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
- name: Run ${{ matrix.config }} tests
run: CONFIG=${{ matrix.config }} make test-library
- name: Build platforms ${{ matrix.config }}
run: CONFIG=${{ matrix.config }} make build-all-platforms
library-evolution:
name: Library Evolution
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- name: Select Xcode 16.1
run: sudo xcode-select -s /Applications/Xcode_16.1.app
- name: Build for library evolution
run: make build-for-library-evolution
swift-package-tests:
name: Swift Package Tests
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- name: Select Xcode 16.1
run: sudo xcode-select -s /Applications/Xcode_16.1.app
- name: Run swift package tests
run: make test-swift