Skip to content

Update macOS instructions #2455

Update macOS instructions

Update macOS instructions #2455

Workflow file for this run

name: macOS-CI
on: [push, pull_request]
jobs:
# https://docs.github.com/en/actions/reference/software-installed-on-github-hosted-runners
# we install stuff not already there
macos-build:
runs-on: macos-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
# caching dependencies and ccache
# https://docs.github.com/en/actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows
- name: Get timestamp
id: timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H:%M:%S" UTC)
message("timestamp=${current_date}" >> $GITHUB_OUTPUT)
- name: Cache dependencies
uses: actions/cache@v4
id: cache-deps
with:
path: |
~/Library/Caches/pip
~/Library/Caches/Homebrew
key: '${{ runner.os }}-deps-${{ steps.timestamp.outputs.timestamp }}'
restore-keys: |
${{ runner.os }}-deps-
- name: Cache ccache dir
uses: actions/cache@v4
id: cache-ccache
with:
path: ~/Library/Caches/ccache
key: '${{ runner.os }}-ccache-${{ steps.timestamp.outputs.timestamp }}'
restore-keys: |
${{ runner.os }}-ccache-
- name: Brew update-reset
run: brew update-reset
- name: Brew update
run: brew update
- name: Brew install DeJaVu fonts
run: brew install --cask font-dejavu
- name: Install environment helpers with homebrew
run: brew install --force ccache
- name: Install LLVM with homebrew
run: brew install --force llvm
- name: Install openage dependencies with homebrew
run: brew install --force cmake python3 libepoxy freetype fontconfig harfbuzz opus opusfile qt6 libogg libpng toml11 eigen
- name: Install nyan dependencies with homebrew
run: brew install --force flex make
- name: Install python3 packages
# cython, numpy and pygments are in homebrew,
# but "cython is keg-only, which means it was not symlinked into /usr/local"
# numpy pulls gcc as dep? and pygments doesn't work.
run: pip3 install --upgrade --break-system-packages cython numpy mako lz4 pillow pygments setuptools toml
- name: Configure
run: ./configure --compiler="$(brew --prefix llvm)/bin/clang++" --mode=release --ccache --download-nyan
- name: Build
run: make -j$(sysctl -n hw.logicalcpu) VERBOSE=1
- name: Test
run: make test