Use Xcode 26 beta for CI #96
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: | |
| paths: | |
| - '*.swift' | |
| - 'Makefile' | |
| - '.github/workflows/*' | |
| pull_request: | |
| paths: | |
| - '*.swift' | |
| - 'Makefile' | |
| - '.github/workflows/*' | |
| branches: | |
| - main | |
| jobs: | |
| test: | |
| strategy: | |
| matrix: | |
| os: [macos-15, ubuntu-22.04] | |
| name: Test | |
| runs-on: ${{ matrix.os }} | |
| environment: ci | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| - name: System Info | |
| run: uname -a | |
| - name: Install Swift | |
| if: ${{ !startsWith( matrix.os, 'macos' ) }} | |
| run: eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" && brew install swift | |
| - name: Build unxip | |
| run: swift build --configuration release | |
| - name: Download Xcode | |
| run: wget http://server.saagarjha.com/Xcode_26_beta.xip.encrypted | |
| # I don't hate you, I just don't want to get sued | |
| - name: Decrypt Xcode | |
| env: | |
| ENCRYPTION_KEY: ${{ secrets.ENCRYPTION_KEY }} | |
| run: openssl enc -aes-256-cbc -d -pass 'env:ENCRYPTION_KEY' -in Xcode_26_beta.xip.encrypted > Xcode_26_beta.xip | |
| - name: Setup tmate session | |
| uses: mxschmitt/action-tmate@v3 | |
| - name: Run unxip | |
| run: .build/release/unxip -s Xcode_26_beta.xip /tmp | grep -q 'Created 98184 files, 26348 directories, 9650 symlinks, and 25521 hardlinks' | |
| - name: Run xip | |
| if: ${{ startsWith( matrix.os, 'macos' ) }} | |
| run: xip --expand Xcode_26_beta.xip | |
| # Xcode 26 has a hardlink to a parent directory, which trips up diff -r. | |
| # --no-dereference, despite not being documented, is available and can | |
| # avoid getting stuck in an infinite loop in this case. | |
| - name: Validate Xcode | |
| if: ${{ startsWith( matrix.os, 'macos' ) }} | |
| run: diff -r --no-dereference /tmp/Xcode-beta.app Xcode-beta.app |