Skip to content

Merged revision(s) 21835 from trunk/OpenMPT: #1053

Merged revision(s) 21835 from trunk/OpenMPT:

Merged revision(s) 21835 from trunk/OpenMPT: #1053

name: macOS Makefile
on:
push:
branches: [ OpenMPT-1.31 ]
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- { host: macos-15, compiler: '16.1', arch: '' , target: '' , deps: sys , check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: arm64 , target: '' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: x86_64, target: '' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: arm64 , target: '' , deps: small, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: x86_64, target: '' , deps: small, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: arm64 , target: '15.1' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: x86_64, target: '15.1' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: arm64 , target: '15' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: x86_64, target: '15' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: arm64 , target: '14' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: x86_64, target: '14' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: arm64 , target: '13' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: x86_64, target: '13' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: arm64 , target: '12' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: x86_64, target: '12' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: arm64 , target: '11' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: x86_64, target: '11' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: x86_64, target: '10.15', deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: x86_64, target: '10.14', deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.1', arch: x86_64, target: '10.13', deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: '' , target: '' , deps: sys , check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: arm64 , target: '' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: x86_64, target: '' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: arm64 , target: '' , deps: small, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: x86_64, target: '' , deps: small, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: arm64 , target: '15' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: x86_64, target: '15' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: arm64 , target: '14' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: x86_64, target: '14' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: arm64 , target: '13' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: x86_64, target: '13' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: arm64 , target: '12' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: x86_64, target: '12' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: arm64 , target: '11' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: x86_64, target: '11' , deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: x86_64, target: '10.15', deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: x86_64, target: '10.14', deps: local, check: true , ancient: false }
- { host: macos-15, compiler: '16.0', arch: x86_64, target: '10.13', deps: local, check: true , ancient: false }
- { host: macos-14, compiler: '15.4', arch: '' , target: '' , deps: sys , check: true , ancient: false }
- { host: macos-14, compiler: '15.4', arch: arm64 , target: '' , deps: local, check: true , ancient: false }
- { host: macos-14, compiler: '15.4', arch: x86_64, target: '' , deps: local, check: true , ancient: false }
- { host: macos-14, compiler: '15.4', arch: arm64 , target: '' , deps: small, check: true , ancient: false }
- { host: macos-14, compiler: '15.4', arch: x86_64, target: '' , deps: small, check: true , ancient: false }
- { host: macos-14, compiler: '15.4', arch: arm64 , target: '14' , deps: local, check: true , ancient: false }
- { host: macos-14, compiler: '15.4', arch: x86_64, target: '14' , deps: local, check: true , ancient: false }
- { host: macos-14, compiler: '15.4', arch: arm64 , target: '13' , deps: local, check: true , ancient: false }
- { host: macos-14, compiler: '15.4', arch: x86_64, target: '13' , deps: local, check: true , ancient: false }
- { host: macos-14, compiler: '15.4', arch: arm64 , target: '12' , deps: local, check: true , ancient: false }
- { host: macos-14, compiler: '15.4', arch: x86_64, target: '12' , deps: local, check: true , ancient: false }
- { host: macos-14, compiler: '15.4', arch: arm64 , target: '11' , deps: local, check: true , ancient: false }
- { host: macos-14, compiler: '15.4', arch: x86_64, target: '11' , deps: local, check: true , ancient: false }
- { host: macos-14, compiler: '15.4', arch: x86_64, target: '10.15', deps: local, check: true , ancient: false }
- { host: macos-14, compiler: '15.4', arch: x86_64, target: '10.14', deps: local, check: true , ancient: false }
- { host: macos-14, compiler: '15.4', arch: x86_64, target: '10.13', deps: local, check: true , ancient: false }
- { host: macos-14, compiler: '15.3', arch: x86_64, target: '10.13', deps: local, check: true , ancient: false }
- { host: macos-13, compiler: '15.2', arch: x86_64, target: '10.13', deps: local, check: true , ancient: false }
- { host: macos-12, compiler: '14.2', arch: x86_64, target: '10.13', deps: local, check: true , ancient: false }
- { host: macos-12, compiler: '14.2', arch: x86_64, target: '10.13', deps: small, check: true , ancient: false }
- { host: macos-12, compiler: '13.2', arch: x86_64, target: '10.13', deps: local, check: true , ancient: true }
- { host: macos-12, compiler: '13.2', arch: x86_64, target: '10.13', deps: small, check: true , ancient: true }
concurrency:
group: ${{github.ref}}-${{github.workflow}}-${{matrix.host}}-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.target}}-${{matrix.deps}}
cancel-in-progress: true
runs-on: ${{matrix.host}}
steps:
- uses: actions/checkout@v4
- name: update Homebrew
run: brew update
- name: fixup GitHub Homebrew swiftlint breakage
if: ${{ matrix.host == 'macos-12' }}
run: brew pin swiftlint
- name: fixup GitHub Homebrew xcbeautify breakage
if: ${{ matrix.host == 'macos-12' }}
run: brew pin xcbeautify
- name: fixup GitHub Homebrew go breakage
if: ${{ matrix.host == 'macos-12' }}
run: brew unlink [email protected] && brew unlink go && brew link --overwrite go
- name: fixup GitHub Homebrew node breakage
if: ${{ matrix.host == 'macos-12' }}
run: brew unlink node@18 && brew unlink node && brew link --overwrite node
- name: fixup GitHub Homebrew python breakage
if: ${{ matrix.host == 'macos-12' || matrix.host == 'macos-13' }}
run: brew unlink [email protected] && brew unlink [email protected] && brew link --overwrite [email protected] && brew link --overwrite [email protected]
- name: upgrade packages
if: ${{ matrix.host != 'macos-12' }}
run: brew upgrade
- name: install dependencies
run: brew install p7zip help2man doxygen autoconf autoconf-archive automake libtool mpg123 libogg libvorbis portaudio flac libsndfile sdl2
- name: selecting Xcode version
run: sudo xcode-select --switch /Applications/Xcode_${{matrix.compiler}}.app
- name: setup parallel make
run: echo "MAKEFLAGS=-j$(sysctl -n hw.ncpu)" >> $GITHUB_ENV
- name: make
run: make ${{ matrix.ancient == true && 'ANCIENT=1' || '' }} ARCH=${{matrix.arch}} MACOSX_VERSION_MIN=${{matrix.target}} STRICT=1 ${{ (matrix.deps == 'sys') && 'FORCE_DEPS=1' || (matrix.deps == 'local') && 'LOCAL_ZLIB=1 LOCAL_MPG123=1 LOCAL_OGG=1 LOCAL_VORBIS=1 NO_PORTAUDIO=1 NO_PORTAUDIOCPP=1 NO_PULSEAUDIO=1 NO_SDL2=1 NO_FLAC=1 NO_SNDFILE=1' || 'NO_ZLIB=1 NO_MPG123=1 NO_OGG=1 NO_VORBIS=1 NO_VORBISFILE=1 NO_PORTAUDIO=1 NO_PORTAUDIOCPP=1 NO_PULSEAUDIO=1 NO_SDL2=1 NO_FLAC=1 NO_SNDFILE=1' }}
- name: make check
if: ${{ matrix.check }}
run: make ${{ matrix.ancient == true && 'ANCIENT=1' || '' }} ARCH=${{matrix.arch}} MACOSX_VERSION_MIN=${{matrix.target}} STRICT=1 ${{ (matrix.deps == 'sys') && 'FORCE_DEPS=1' || (matrix.deps == 'local') && 'LOCAL_ZLIB=1 LOCAL_MPG123=1 LOCAL_OGG=1 LOCAL_VORBIS=1 NO_PORTAUDIO=1 NO_PORTAUDIOCPP=1 NO_PULSEAUDIO=1 NO_SDL2=1 NO_FLAC=1 NO_SNDFILE=1' || 'NO_ZLIB=1 NO_MPG123=1 NO_OGG=1 NO_VORBIS=1 NO_VORBISFILE=1 NO_PORTAUDIO=1 NO_PORTAUDIOCPP=1 NO_PULSEAUDIO=1 NO_SDL2=1 NO_FLAC=1 NO_SNDFILE=1' }} check