1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
name: macos
on:
push:
branches:
- master
- 'releases/**'
pull_request:
branches:
- master
- 'releases/**'
# Set permissions at the job level.
permissions: {}
jobs:
macos:
runs-on: macos-13
permissions:
contents: read
steps:
- uses: actions/checkout@v5
with:
persist-credentials: false
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: |
brew install bison libxml2 meson ninja xkeyboardconfig xorg-server
brew link bison --force
brew link libxml2 --force
# https://docs.brew.sh/Homebrew-and-Python#pep-668-python312-and-virtual-environments
python3 -m venv venv
source venv/bin/activate
# Jinja2 is needed for merge-modes tests
pip3 install PyYaml Jinja2
env:
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_INSTALL_CLEANUP: 1
- name: Setup
run: |
source venv/bin/activate
PATH="/usr/local/opt/bison/bin:${PATH}" \
meson setup \
-Denable-wayland=false \
-Denable-x11=true \
-Dxkb-config-root="$(brew --prefix xkeyboardconfig)/share/X11/xkb" \
-Dx-locale-root="$(brew --prefix xorg-server)/share/X11/locale" \
build
- name: Build
run: |
source venv/bin/activate
PATH="/usr/local/opt/bison/bin:${PATH}" meson compile -C build
- name: Test
run: |
source venv/bin/activate
meson test -C build --print-errorlogs
|