chore(deps): bump actions/checkout from 5 to 6 #11
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: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| # Primary development workflow: Latest Swift on macOS with debug build | |
| macos-latest: | |
| name: macOS (Swift 6.2, debug) | |
| runs-on: macos-26 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Select Xcode 26.0 | |
| run: sudo xcode-select -s /Applications/Xcode_26.0.app | |
| - name: Print Swift version | |
| run: swift --version | |
| - name: Cache Swift packages | |
| uses: actions/cache@v4 | |
| with: | |
| path: .build | |
| key: macos-swift62-spm-${{ hashFiles('Package.swift', 'Package@*.swift') }} | |
| restore-keys: | | |
| macos-swift62-spm- | |
| # Note: swift test builds automatically, no separate build step needed | |
| - name: Test | |
| run: swift test -c debug | |
| - name: Validate Package.swift | |
| run: swift package dump-package | |
| - name: Check for API breaking changes | |
| id: api-diff | |
| run: | | |
| echo "## API Breaking Changes Check" >> $GITHUB_STEP_SUMMARY | |
| if swift package diagnose-api-breaking-changes --breakage-allowlist-path .swift-api-breakage-allowlist 2>&1 | tee api-diff.txt; then | |
| echo "✅ No API breaking changes detected" >> $GITHUB_STEP_SUMMARY | |
| else | |
| echo "⚠️ API breaking changes detected:" >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| cat api-diff.txt >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| echo "::warning::API breaking changes detected. Review changes before release." | |
| fi | |
| continue-on-error: true | |
| # Production validation: Latest Swift on Linux with release build | |
| linux-latest: | |
| name: Ubuntu (Swift 6.2, release) | |
| runs-on: ubuntu-latest | |
| container: swift:6.2 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Cache Swift packages | |
| uses: actions/cache@v4 | |
| with: | |
| path: .build | |
| key: linux-swift62-spm-${{ hashFiles('Package.swift', 'Package@*.swift') }} | |
| restore-keys: linux-swift62-spm- | |
| # Note: swift test builds automatically in release mode | |
| - name: Test (release) | |
| run: swift test -c release | |
| # Compatibility check: Minimum supported Swift version (6.2) | |
| # Update to swift:6.3 when available | |
| linux-compat: | |
| name: Ubuntu (Swift 6.2, compatibility) | |
| runs-on: ubuntu-latest | |
| container: swift:6.2 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Cache Swift packages | |
| uses: actions/cache@v4 | |
| with: | |
| path: .build | |
| key: linux-swift62-compat-spm-${{ hashFiles('Package.swift', 'Package@*.swift') }} | |
| restore-keys: linux-swift62-compat-spm- | |
| # Note: swift test builds automatically | |
| - name: Test (Swift 6.2) | |
| run: swift test -c release |