Skip to content

Merge pull request #1645 from heinezen/feature/multi-terrain-mesh #2325

Merge pull request #1645 from heinezen/feature/multi-terrain-mesh

Merge pull request #1645 from heinezen/feature/multi-terrain-mesh #2325

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@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