Add and Test Clang-tidy #2543
Workflow file for this run
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@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 |