name: CI on: pull_request: branches: [main] jobs: preflight: name: License Header and Formatting Checks runs-on: ubuntu-latest container: image: swift:6.0-jammy steps: - name: "Checkout repository" uses: actions/checkout@v4 - name: Mark the workspace as safe run: git config --global --add safe.directory ${GITHUB_WORKSPACE} - name: "Formatting, License Headers, and Generated Code check" run: | ./dev/sanity.sh unit-tests: strategy: fail-fast: false matrix: include: - image: swiftlang/swift:nightly-jammy - image: swift:6.0-jammy name: Build and Test on ${{ matrix.image }} runs-on: ubuntu-latest container: image: ${{ matrix.image }} steps: - uses: actions/checkout@v4 - name: 🔧 Build run: swift build ${{ matrix.swift-build-flags }} timeout-minutes: 20 - name: 🧪 Test run: swift test ${{ matrix.swift-test-flags }} timeout-minutes: 20 integration-tests: strategy: fail-fast: false matrix: include: - image: swiftlang/swift:nightly-jammy - image: swift:6.0-jammy name: Run integration tests using ${{ matrix.image }} runs-on: ubuntu-latest container: image: ${{ matrix.image }} steps: - uses: actions/checkout@v4 - name: Build performance tests run: ./dev/build-performance-tests.sh - name: Run interop tests run: ./dev/run-interop-tests.sh