Skip to content

Build on each XCode version available on the runner #249

Build on each XCode version available on the runner

Build on each XCode version available on the runner #249

Workflow file for this run

name: Build
on:
push:
branches:
- '**'
jobs:
generate-build-matrix:
runs-on: macos-14-xlarge
outputs:
versions: ${{ steps.generate.outputs.versions }}
steps:
- id: generate
run: |
version_list=()
for XCODE_INSTALL in $(ls /Applications | grep Xcode); do
version_list+=("$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" /Applications/$XCODE_INSTALL/Contents/Info.plist)")
done
unique_version_list=( $(printf "%s\n" ${version_list[@]} | sort -n -u) )
jsonString="$(jq -c --null-input '$ARGS.positional' --args -- "${unique_version_list[@]}")"
echo "versions=$jsonString" >> $GITHUB_OUTPUT
build:
runs-on: macos-14-xlarge
needs: [ generate-build-matrix ]
strategy:
matrix:
version: ${{ fromJSON(needs.generate-build-matrix.outputs.versions) }}
exclude:
- version: 15.3 # https://youtrack.jetbrains.com/issue/KT-67465/cinterop-errors-when-compiling-with-Xcode-15.3-if-targetting-iosArm64-and-or-tvosArm64
steps:
- uses: actions/[email protected]
- uses: maxim-lobanov/[email protected]
with:
xcode-version: ${{ matrix.version }}
- uses: ./.github/actions/runGradleTask
with:
task: build
barrier-build:
runs-on: ubuntu-22.04
needs: [ build ]
steps:
- run: exit 0