Skip to content

Use Xcode 26 beta for CI #96

Use Xcode 26 beta for CI

Use Xcode 26 beta for CI #96

Workflow file for this run

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