wip #12
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: | |
config: [Debug, Release] | |
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 }}-${{ matrix.config }}-${{ hashFiles('**/*.swift') }} | |
restore-keys: | | |
deriveddata-xcodebuild-${{ matrix.xcode }}-${{ matrix.config }}- | |
- 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 (${{ matrix.config }}) | |
run: make CONFIG=${{ matrix.config }} PLATFORM=iOS xcodebuild | |
- name: Build macOS (${{ matrix.config }}) | |
run: make CONFIG=${{ matrix.config }} PLATFORM=macOS xcodebuild | |
- name: Build macCatalyst (${{ matrix.config }}) | |
run: make CONFIG=${{ matrix.config }} PLATFORM=macCatalyst xcodebuild | |
- name: Build watchOS (${{ matrix.config }}) | |
run: make CONFIG=${{ matrix.config }} PLATFORM=watchOS xcodebuild | |
- name: Build tvOS (${{ matrix.config }}) | |
run: make CONFIG=${{ matrix.config }} PLATFORM=tvOS xcodebuild | |
- name: Build visionOS (${{ matrix.config }}) | |
run: make CONFIG=${{ matrix.config }} PLATFORM=visionOS xcodebuild | |
- name: Build examples | |
if: matrix.config == 'Debug' | |
run: make CONFIG=Debug SCHEME=GitHub xcodebuild |