wip #10
This file contains 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: Cache | |
on: | |
push: | |
branches: | |
- main | |
- more-ci-improvements | |
workflow_dispatch: | |
concurrency: | |
group: ci-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build-cache: | |
name: build-cache | |
runs-on: macos-14 | |
strategy: | |
matrix: | |
xcode: | |
#- 15.2 | |
- 15.4 | |
#- 16_beta_6 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Select Xcode ${{ matrix.xcode }} | |
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app | |
- name: Cache derived data | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.derivedData | |
key: | | |
deriveddata-xcodebuild-${{ matrix.xcode }}-${{ hashFiles('**/*.swift') }} | |
restore-keys: | | |
deriveddata-xcodebuild-${{ matrix.xcode }}- | |
- name: Set IgnoreFileSystemDeviceInodeChanges flag | |
run: defaults write com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool YES | |
- name: Update mtime for incremental builds | |
uses: chetan/git-restore-mtime-action@v2 | |
- name: Build iOS (Debug) | |
run: make CONFIG=Debug PLATFORM=iOS TEST_PLAN=ComposableArchitecture xcodebuild | |
- name: Build iOS (Release) | |
run: make CONFIG=Release PLATFORM=iOS TEST_PLAN=ComposableArchitecture xcodebuild | |
- name: Build macOS (Debug) | |
run: make CONFIG=Debug PLATFORM=macOS TEST_PLAN=ComposableArchitecture xcodebuild | |
- name: Build macOS (Release) | |
run: make CONFIG=Release PLATFORM=macOS TEST_PLAN=ComposableArchitecture xcodebuild | |
- name: Build macCatalyst (Debug) | |
run: make CONFIG=Debug PLATFORM=macCatalyst TEST_PLAN=ComposableArchitecture xcodebuild | |
- name: Build macCatalyst (Release) | |
run: make CONFIG=Release PLATFORM=macCatalyst TEST_PLAN=ComposableArchitecture xcodebuild | |
- name: Build watchOS (Debug) | |
run: make CONFIG=Debug PLATFORM=watchOS TEST_PLAN=ComposableArchitecture xcodebuild | |
- name: Build watchOS (Release) | |
run: make CONFIG=Release PLATFORM=watchOS TEST_PLAN=ComposableArchitecture xcodebuild | |
- name: Build tvOS (Debug) | |
run: make CONFIG=Debug PLATFORM=tvOS TEST_PLAN=ComposableArchitecture xcodebuild | |
- name: Build tvOS (Release) | |
run: make CONFIG=Release PLATFORM=tvOS TEST_PLAN=ComposableArchitecture xcodebuild | |
- name: Build visionOS (Debug) | |
run: make CONFIG=Debug PLATFORM=visionOS TEST_PLAN=ComposableArchitecture xcodebuild | |
- name: Build visionOS (Release) | |
run: make CONFIG=Release PLATFORM=visionOS TEST_PLAN=ComposableArchitecture xcodebuild | |
- name: Build Todos | |
run: make CONFIG=Debug SCHEME=GitHub TEST_PLAN=Todos xcodebuild | |
- name: Build SpeechRecognition | |
run: make CONFIG=Debug SCHEME=GitHub TEST_PLAN=SpeechRecognition xcodebuild | |
- name: Build Search | |
run: make CONFIG=Debug SCHEME=GitHub TEST_PLAN=Search xcodebuild | |
- name: Build SyncUps | |
run: make CONFIG=Debug SCHEME=GitHub TEST_PLAN=SyncUps xcodebuild | |
- name: Build VoiceMemos | |
run: make CONFIG=Debug SCHEME=GitHub TEST_PLAN=VoiceMemos xcodebuild | |