Skip to content

Add Meson Build

Add Meson Build #935

Workflow file for this run

name: build
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
# test-ubuntu-py38:
# runs-on: ${{matrix.os}}
# timeout-minutes: 20
# strategy:
# fail-fast: false
# matrix:
# os: [ubuntu-latest]
# python-version:
# - "3.8"
#
# steps:
# - uses: actions/checkout@v3
#
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python-version }}
#
# - name: Upgrade pip version
# run: |
# python -m pip install --upgrade pip
#
# - name: Install requirements
# run: |
# python -m pip install -r requirements.txt
# python -m pip install -r docs/requirements.txt
#
# - name: Install lcov
# run: |
# sudo apt-get update
# sudo apt-get install -y lcov
#
# - name: Build package
# env:
# CXXFLAGS: "-std=c++17 --coverage"
# CFLAGS: "--coverage"
# run: |
# spin build -v
# # coverage tests
# - name: Run tests
# run: |
# spin test -v
#
# - name: Capture Coverage Data with lcov
# run: |
# lcov --capture --directory . --output-file coverage.info --no-external
#
# - name: Generate HTML Coverage Report with genhtml
# run: |
# genhtml coverage.info --output-directory coverage_report
#
# - name: Upload Coverage
# uses: codecov/codecov-action@v3
# with:
# token: ${{ secrets.CODECOV_TOKEN }}
# directory: ./coverage/reports/
# env_vars: OS,PYTHON
# fail_ci_if_error: false
# files: ./coverage.xml
# flags: unittests
# name: codecov-umbrella
# path_to_write_report: ./coverage/codecov_report.txt
# verbose: true
#
# - name: Build Documentation
# run: |
# sphinx-build -b html docs/source/ docs/build/html
test-ubuntu-py39-py310:
runs-on: ${{ matrix.os }}
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version:
- "3.9"
- "3.10"
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Upgrade pip version
run: |
python -m pip install --upgrade pip
- name: Install requirements
run: |
python -m pip install -r requirements.txt
python -m pip install -r docs/requirements.txt
python -m pip install meson-python meson ninja pytest
- name: Build package (Meson)
env:
CXXFLAGS: "-std=c++17"
run: |
spin build -v
- name: Run tests
run: |
spin test -v
- name: Build Documentation
run: |
sphinx-build -b html docs/source/ docs/build/html
test-macos:
runs-on: ${{ matrix.os }}
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
os: [macos-latest]
python-version:
# - "3.8"
- "3.9"
- "3.10"
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Upgrade pip version
run: |
python -m pip install --upgrade pip
- name: Install requirements
run: |
python -m pip install -r requirements.txt
python -m pip install -r docs/requirements.txt
python -m pip install meson-python meson ninja pytest
- name: Build package (Meson)
env:
MACOSX_DEPLOYMENT_TARGET: 11.0
CXXFLAGS: "-std=c++17"
run: |
spin build -v
- name: Run tests
run: |
spin test -v
- name: Build Documentation
run: |
sphinx-build -b html docs/source/ docs/build/html
# test-windows:
# runs-on: ${{matrix.os}}
# timeout-minutes: 20
# strategy:
# fail-fast: false
# matrix:
# os: [windows-latest]
# python-version:
# # - "3.8"
# - "3.9"
#
# steps:
# - uses: actions/checkout@v3
#
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python-version }}
#
# - name: Setup conda
# uses: s-weigand/setup-conda@v1
# with:
# update-conda: true
# python-version: ${{ matrix.python-version }}
# conda-channels: anaconda, conda-forge
# # - run: conda --version # This fails due to unknown reasons
# - run: which python
#
# - name: Upgrade pip version
# run: |
# python -m pip install --upgrade pip
#
# - name: Install requirements
# run: |
# python -m pip install -r requirements.txt
# python -m pip install -r docs/requirements.txt
#
# - name: Build package
# env:
# CL: "/std:c++17"
# run: |
# spin build -v
#
# - name: Run tests
# run: |
# spin test -v
#
# - name: Build Documentation
# run: |
# sphinx-build -b html docs/source/ docs/build/html