Skip to content

Use matrix to test on macos builtin python, github actions python and… #5

Use matrix to test on macos builtin python, github actions python and…

Use matrix to test on macos builtin python, github actions python and… #5

Workflow file for this run

name: macos
concurrency:
group: macos-${{ github.head_ref || github.ref }}
cancel-in-progress: true
on:
push:
paths:
- "mesonbuild/**"
- "test cases/**"
- "unittests/**"
- ".github/workflows/macos.yml"
- "run_unittests.py"
pull_request:
paths:
- "mesonbuild/**"
- "test cases/**"
- "unittests/**"
- ".github/workflows/macos.yml"
- "run_unittests.py"
permissions:
contents: read
jobs:
unittests-appleclang:
runs-on: macos-latest
strategy:
matrix:
include:
- python: homebrew
- python: osx-builtin
- python: github-action
steps:
- uses: actions/checkout@v3
- name: Install Python with setup-python action
if: ${{ matrix.python }} == "github-action"
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install Homebrew Python
if: ${{ matrix.python }} == "homebrew"
run: |
eval "$(brew shellenv)"
echo HOMEBREW_PREFIX="$HOMEBREW_PREFIX" >> $GITHUB_ENV
echo HOMEBREW_REPOSITORY="$HOMEBREW_REPOSITORY" >> $GITHUB_ENV
echo HOMEBREW_CELLAR="$HOMEBREW_CELLAR" >> $GITHUB_ENV
echo PATH="$PATH" >> $GITHUB_ENV
echo MANPATH="$MANPATH" >> $GITHUB_ENV
echo INFOPATH="$INFOPATH" >> $GITHUB_ENV
brew install python@3
- run: |
python -m pip install --upgrade pip
python -m pip install pytest pytest-xdist pytest-subtests jsonschema coverage
- run: brew install pkg-config ninja llvm qt@5
- env:
CPPFLAGS: "-I/usr/local/include"
LDFLAGS: "-L/usr/local/lib"
MESON_CI_JOBNAME: ${{ job.name }}
MESON_UNIT_TEST_BACKEND: ninja
# These cannot evaluate anything, so we cannot set PATH or SDKROOT here
run: |
export SDKROOT="$(xcodebuild -version -sdk macosx Path)"
export PATH="$HOME/tools:/usr/local/opt/qt@5/bin:$PATH:$(brew --prefix llvm)/bin"
export PKG_CONFIG_PATH="/usr/local/opt/qt@5/lib/pkgconfig:$PKG_CONFIG_PATH"
./tools/run_with_cov.py ./run_unittests.py
- name: Aggregate coverage reports
run: ./ci/combine_cov.sh
- name: Upload coverage report
uses: codecov/codecov-action@v3
with:
files: .coverage/coverage.xml
name: "appleclang [unit tests]"
fail_ci_if_error: false
verbose: true
project-tests-appleclang:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
include:
- unity: clang-unity
- unity: clang
- python: homebrew
- python: osx-builtin
- python: github-action
name: Mac OSX Project, Python from ${{python}}, compiler ${{unity}}

Check failure on line 95 in .github/workflows/macos.yml

View workflow run for this annotation

GitHub Actions / macos

Invalid workflow file

The workflow is not valid. .github/workflows/macos.yml (Line: 95, Col: 11): Unrecognized named-value: 'python'. Located at position 1 within expression: python .github/workflows/macos.yml (Line: 97, Col: 25): Unrecognized named-value: 'job'. Located at position 1 within expression: job.name
env:
MESON_CI_JOBNAME: ${{ job.name }}
steps:
- uses: actions/checkout@v3
- name: Install Python with setup-python action
if: ${{ matrix.python }} == "github-action"
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install Homebrew Python
if: ${{ matrix.python }} == "homebrew"
run: |
eval "$(brew shellenv)"
echo HOMEBREW_PREFIX="$HOMEBREW_PREFIX" >> $GITHUB_ENV
echo HOMEBREW_REPOSITORY="$HOMEBREW_REPOSITORY" >> $GITHUB_ENV
echo HOMEBREW_CELLAR="$HOMEBREW_CELLAR" >> $GITHUB_ENV
echo PATH="$PATH" >> $GITHUB_ENV
echo MANPATH="$MANPATH" >> $GITHUB_ENV
echo INFOPATH="$INFOPATH" >> $GITHUB_ENV
brew install python@3
- run: brew install pkg-config ninja llvm qt@5 boost ldc hdf5 openmpi lapack scalapack sdl2 boost-python3 gtk-doc
- run: |
python3 -m pip install --upgrade setuptools
python3 -m pip install --upgrade pip
python3 -m pip install cython coverage
- env:
CPPFLAGS: "-I/usr/local/include"
LDFLAGS: "-L/usr/local/lib"
MESON_ARGS: --unity=${{ matrix.unity }}
CI: 1
# These cannot evaluate anything, so we cannot set PATH or SDKROOT here
run: |
export SDKROOT="$(xcodebuild -version -sdk macosx Path)"
export PATH="$HOME/tools:/usr/local/opt/qt@5/bin:$PATH:$(brew --prefix llvm)/bin"
export PKG_CONFIG_PATH="/usr/local/opt/qt@5/lib/pkgconfig:$PKG_CONFIG_PATH"
export XML_CATALOG_FILES="/usr/local/etc/xml/catalog"
./tools/run_with_cov.py ./run_project_tests.py --backend=ninja
- name: Aggregate coverage reports
run: ./ci/combine_cov.sh
- name: Upload coverage report
uses: codecov/codecov-action@v3
with:
files: .coverage/coverage.xml
name: "appleclang [project tests; unity=${{ matrix.unity }}]"
fail_ci_if_error: false
verbose: true
Qt4macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.x'
- run: python -m pip install -e .
- run: brew install pkg-config ninja gcc
- run: brew tap cartr/qt4
- run: brew install qt@4
- run: brew link qt@4
# qt4 tap seems to be broken
- run: ln -sfn /usr/local/Cellar/qt@4/4.8.7_6.reinstall /usr/local/Cellar/qt@4/4.8.7_6
- run: meson setup "test cases/frameworks/4 qt" build -Drequired=qt4
- run: meson compile -C build
- uses: actions/upload-artifact@v3
if: failure()
with:
name: Qt4_Mac_build
path: build/meson-logs/meson-log.txt
- run: meson test -C build -v
- uses: actions/upload-artifact@v3
if: failure()
with:
name: Qt4_Mac_test
path: build/meson-logs/testlog.txt