Merge pull request #1645 from heinezen/feature/multi-terrain-mesh #2325
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: 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@v3 | |
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@v3 | |
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: Install clang / LLVM 15.0.0 | |
run: | | |
set -x | |
brew install --force wget | |
mkdir -p /tmp/clang | |
cd /tmp/clang | |
wget https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.0/clang+llvm-15.0.0-x86_64-apple-darwin.tar.xz -O clang-15.0.0.tar.xz | |
ls | |
tar -xvf clang-15.0.0.tar.xz -C ~ | |
cd ~ | |
mv clang+llvm-15.0.0-x86_64-apple-darwin clang-15.0.0 | |
~/clang-15.0.0/bin/clang++ --version | |
- name: Brew install DeJaVu fonts | |
run: brew tap homebrew/cask-fonts && brew install --force font-dejavu | |
- name: Remove python's 2to3 link so that 'brew link' does not fail | |
run: rm /usr/local/bin/2to3* && rm /usr/local/bin/idle3* | |
- name: Install environment helpers with homebrew | |
run: brew install --force ccache | |
- name: Install dependencies with homebrew | |
run: brew install --force 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: | | |
CLANG_PATH="$HOME/clang-15.0.0/bin/clang++" | |
./configure --compiler="$CLANG_PATH" --mode=debug --ccache --download-nyan | |
- name: Build | |
run: make -j$(sysctl -n hw.logicalcpu) VERBOSE=1 | |
- name: Test | |
run: make test |