66 lines
1.7 KiB
YAML
66 lines
1.7 KiB
YAML
name: "Build 🔨"
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
pull_request:
|
|
types:
|
|
- opened
|
|
- reopened
|
|
- synchronize
|
|
- ready_for_review
|
|
branches: [ main ]
|
|
|
|
jobs:
|
|
build:
|
|
name: "Build 🔨"
|
|
if: github.event.pull_request.draft == false
|
|
strategy:
|
|
matrix:
|
|
scheme:
|
|
- "Swiftfin"
|
|
- "Swiftfin tvOS"
|
|
|
|
runs-on: macos-14
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install SwiftGen
|
|
run: brew install swiftgen
|
|
|
|
- name: Set Xcode Version
|
|
run: sudo xcode-select -s "/Applications/Xcode_15.3.app"
|
|
|
|
- name: Cache Carthage
|
|
uses: actions/cache@v4
|
|
id: carthage-cache
|
|
with:
|
|
path: Carthage
|
|
key: ${{ runner.os }}-carthage-${{ hashFiles('**/Cartfile.resolved') }}
|
|
restore-keys: ${{ runner.os }}-carthage-
|
|
|
|
- name: Update Carthage
|
|
run: carthage update --use-xcframeworks --cache-builds
|
|
|
|
# FIXME: caches would keep failed compiles?
|
|
|
|
# - name: Cache Swift packages
|
|
# uses: actions/cache@v4
|
|
# with:
|
|
# path: PackageCache
|
|
# key: ${{ runner.os }}-${{ matrix.scheme }}-spm-${{ hashFiles('**/Package.resolved') }}
|
|
# restore-keys: ${{ runner.os }}-${{ matrix.scheme }}-spm-
|
|
|
|
- name: Build
|
|
uses: nick-fields/retry@v2
|
|
with:
|
|
max_attempts: 3
|
|
retry_on: error
|
|
timeout_minutes: 60
|
|
command: |
|
|
xcodebuild build -project "Swiftfin.xcodeproj" \
|
|
-scheme "${{ matrix.scheme }}" \
|
|
-clonedSourcePackagesDirPath PackageCache \
|
|
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO |