ScreenSaver: Consistently prefer the event message over the default #2486
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 | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: [push, pull_request] | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
macos: | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: ['arm64', 'x86_64'] | |
runs-on: ${{ matrix.platform == 'arm64' && 'macos-14' || 'macos-13' }} | |
env: | |
# Bump number to reset all caches. | |
CACHE_EPOCH: '0' | |
CLICOLOR_FORCE: '1' | |
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.platform == 'arm64' && '11.0' || '10.15' }} | |
MAKEFLAGS: 'OUTPUT_DIR=build INSTALL_DIR=install TARGET=macos' | |
steps: | |
- name: XCode version | |
run: xcode-select -p | |
# Checkout / fetch. {{{ | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
clean: false | |
fetch-depth: 0 | |
filter: tree:0 | |
show-progress: false | |
- name: Fetch | |
run: make fetchthirdparty | |
# }}} | |
# Restore / setup caches. {{{ | |
- name: Generate cache key | |
run: make -C base TARGET= cache-key | |
- name: Restore build directory | |
id: build-restore | |
uses: actions/cache/restore@v4 | |
with: | |
path: base/build | |
key: ${{ env.CACHE_EPOCH }}-${{ runner.os }}-${{ runner.arch }}-build-${{ hashFiles('base/cache-key') }} | |
- name: Restore build cache | |
id: ccache-restore | |
if: steps.build-restore.outputs.cache-hit != 'true' | |
uses: actions/cache/restore@v4 | |
with: | |
path: /Users/runner/Library/Caches/ccache | |
key: ${{ env.CACHE_EPOCH }}-${{ runner.os }}-${{ runner.arch }}-ccache-${{ hashFiles('base/cache-key') }} | |
restore-keys: ${{ env.CACHE_EPOCH }}-${{ runner.os }}-ccache- | |
- name: Install ccache | |
if: steps.build-restore.outputs.cache-hit != 'true' | |
run: | | |
wget --progress=dot:mega https://github.com/ccache/ccache/releases/download/v4.9.1/ccache-4.9.1-darwin.tar.gz | |
tar xf ccache-4.9.1-darwin.tar.gz | |
printf '%s\n' "$PWD/ccache-4.9.1-darwin" >>"${GITHUB_PATH}" | |
- name: Setup build cache | |
if: steps.build-restore.outputs.cache-hit != 'true' | |
run: | | |
set -x | |
which ccache | |
ccache --version | |
ccache --zero-stats | |
ccache --max-size=256M | |
ccache --show-config | |
# }}} | |
# Install dependencies. {{{ | |
- name: Setup Python | |
if: steps.build-restore.outputs.cache-hit != 'true' | |
uses: actions/setup-python@v5 | |
with: | |
# Note: Python 3.12 removal of `distutils` breaks GLib's build. | |
python-version: '3.11' | |
- name: Install homebrew dependencies | |
# Compared to the README, adds p7zip. | |
run: | | |
packages=( | |
nasm binutils coreutils libtool autoconf automake cmake make | |
sdl2 gettext pkg-config wget gnu-getopt grep p7zip ninja | |
) | |
brew install --formula --quiet "${packages[@]}" | |
- name: Update PATH | |
run: > | |
printf '%s\n' | |
"$(brew --prefix)/opt/gettext/bin" | |
"$(brew --prefix)/opt/gnu-getopt/bin" | |
"$(brew --prefix)/opt/grep/libexec/gnubin" | |
"$(brew --prefix)/opt/make/libexec/gnubin" | |
| tee "${GITHUB_PATH}" | |
# }}} | |
# Build. {{{ | |
- name: Build | |
if: steps.build-restore.outputs.cache-hit != 'true' | |
run: make base | |
- name: Dump binaries runtime path & dependencies | |
run: make bindeps | |
# }}} | |
# Clean / save caches. {{{ | |
- name: Clean caches | |
if: steps.build-restore.outputs.cache-hit != 'true' && always() | |
run: | | |
set -x | |
# Trim the build directory. | |
rm -rf base/build/{cmake,staging,thirdparty} | |
ccache --cleanup >/dev/null | |
ccache --show-stats --verbose | |
- name: Save build cache | |
uses: actions/cache/save@v4 | |
if: steps.build-restore.outputs.cache-hit != 'true' && steps.ccache-restore.outputs.cache-hit != 'true' | |
with: | |
path: /Users/runner/Library/Caches/ccache | |
key: ${{ steps.ccache-restore.outputs.cache-primary-key }} | |
- name: Save build directory | |
uses: actions/cache/save@v4 | |
if: steps.build-restore.outputs.cache-hit != 'true' | |
with: | |
path: base/build | |
key: ${{ steps.build-restore.outputs.cache-primary-key }} | |
# }}} | |
# Generate / upload artifact. {{{ | |
- name: Generate artifact | |
run: make update --assume-old=base | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: koreader-macos-${{ matrix.platform }} | |
path: '*.7z' | |
# }}} | |
# vim: foldmethod=marker foldlevel=0 |