Update README.md #36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| concurrency: | |
| group: ci-${{ github.event.pull_request.number || github.sha }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| swiftlint: | |
| name: SwiftLint | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Select latest Xcode | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: latest | |
| - name: Install SwiftLint | |
| run: brew install swiftlint | |
| - name: Print SwiftLint version | |
| run: swiftlint version | |
| - name: Lint Swift sources | |
| run: Scripts/lint-swift.sh | |
| swift-validation: | |
| name: Swift Validation | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Swift 6.2 | |
| uses: swift-actions/setup-swift@v3 | |
| with: | |
| swift-version: "6.2.0" | |
| skip-verify-signature: true | |
| - name: Print Swift version | |
| run: swift --version | |
| - name: Swift build | |
| run: Scripts/build-linux-runtime.sh | |
| - name: Networking concurrency gate | |
| run: Scripts/check-networking-concurrency.sh | |
| - name: Swift tests | |
| run: Scripts/test-linux-runtime.sh | |
| ios-example-build: | |
| name: iOS Example Build | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Select latest Xcode | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: latest | |
| - name: Setup Swift 6.2 | |
| uses: swift-actions/setup-swift@v3 | |
| with: | |
| swift-version: "6.2.0" | |
| skip-verify-signature: true | |
| - name: Print Xcode and Swift versions | |
| run: | | |
| xcodebuild -version | |
| xcrun swift --version | |
| swift --version | |
| - name: Build iOS example | |
| run: Scripts/build-ios-example.sh | |
| apple-platform-matrix: | |
| name: Apple Platform Matrix (${{ matrix.platform }}) | |
| runs-on: macos-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: | |
| - macos | |
| - ios | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Select latest Xcode | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: latest | |
| - name: Setup Swift 6.2 | |
| uses: swift-actions/setup-swift@v3 | |
| with: | |
| swift-version: "6.2.0" | |
| skip-verify-signature: true | |
| - name: Print Xcode and Swift versions | |
| run: | | |
| xcodebuild -version | |
| xcrun swift --version | |
| swift --version | |
| - name: Validate Apple matrix contract | |
| run: Scripts/validate-apple-matrix.sh --platform "${{ matrix.platform }}" | |
| - name: Build Swift package on macOS | |
| if: matrix.platform == 'macos' | |
| run: swift build -Xswiftc -warnings-as-errors | |
| - name: Build iOS example | |
| if: matrix.platform == 'ios' | |
| run: Scripts/build-ios-example.sh |