name: Test on: push: branches: [main] pull_request: permissions: contents: read env: SKIP_INTEGRATION_TESTS: 'true' jobs: spm_linux: name: SPM, Linux, Swift 6.2 runs-on: ubuntu-24.04 container: swift:6.2-noble steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: persist-credentials: false - name: Get Swift version id: swift_version run: echo "version=$(swift --version | grep '[5-9]\.[0-9]\+\(\.[0-9]\)\?' -o | head -1)" >> "$GITHUB_OUTPUT" - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 with: key: ${{ runner.os }}-spm-${{ steps.swift_version.outputs.version }}-${{ hashFiles('Package.resolved', 'Package.swift') }} restore-keys: ${{ runner.os }}-spm-${{ steps.swift_version.outputs.version }}- path: .build - name: Run tests uses: ./.github/actions/run-make with: rule: spm_test spm_macos: name: SPM, macOS ${{ matrix.macOS }}, Xcode ${{ matrix.xcode }} runs-on: macos-${{ matrix.macOS }} strategy: matrix: include: - macOS: '14' xcode: '16.2' - macOS: '15' xcode: '16.4' - macOS: '26' xcode: '26.0' env: DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: persist-credentials: false - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 with: key: ${{ runner.os }}-xcode-spm-${{ matrix.xcode }}-${{ hashFiles('Package.resolved', 'Package.swift') }} restore-keys: ${{ runner.os }}-xcode-spm-${{ matrix.xcode }}- path: .build - name: Run tests run: make spm_test