|
|
@@ -0,0 +1,37 @@
|
|
|
+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
|