chore: Update test-meson workflow to include building Python wheels #14
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: test-meson | |
on: | |
push: | |
paths: # Push events containing matching files | |
- "src/suews/**" | |
- "src/supy/**" | |
- "src/supy_driver/**" | |
- ".github/workflows/test-meson.yml" | |
pull_request: | |
paths: # PR events containing matching files | |
- "src/suews/**" | |
- "src/supy/**" | |
- "src/supy_driver/**" | |
- ".github/workflows/test-meson.yml" | |
jobs: | |
test-meson: | |
name: Build wheels for ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-20.04 | |
- windows-2019 | |
- macos-11 | |
- macos-14 # Apple Silicon build runner | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Install Meson and Ninja | |
run: python3 -m pip install meson ninja f90wrap | |
# # remote debugging | |
# - name: Setup upterm session | |
# uses: lhotari/action-upterm@v1 | |
# macOS make is too old | |
- if: runner.os == 'macOS' | |
run: | | |
brew install make automake libtool | |
which pipx || brew install pipx && pipx ensurepath | |
brew install gfortran gnu-sed | |
brew unlink gfortran | |
brew link gfortran | |
- name: check git info | |
run: | | |
git tag -l | |
git status | |
git describe --tags --dirty --match "2[0-9]*" | |
- name: test meson.build | |
run: | | |
meson setup build | |
meson compile -C build | |
python -m build --wheel | |
# - name: Build wheels | |
# uses: pypa/[email protected] | |
# env: | |
# # SETUPTOOLS_USE_DISTUTILS: stdlib | |
# CC: gcc | |
# CXX: g++ | |
# with: | |
# # package-dir: ./src/supy | |
# output-dir: wheelhouse | |
# # config-file: ./src/supy/pyproject.toml | |
# - name: Setup tmate session for debugging | |
# if: failure() | |
# uses: mxschmitt/action-tmate@v3 | |
# timeout-minutes: 5 | |
# - name: upload wheels | |
# uses: actions/upload-artifact@v3 | |
# with: | |
# name: python-package-distributions | |
# path: ./wheelhouse/*.whl | |
# deploy: | |
# name: Publish to (Test)PyPI | |
# needs: | |
# - build_wheels | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Download all the dists | |
# uses: actions/download-artifact@v3 | |
# with: | |
# name: python-package-distributions | |
# path: dist/ | |
# - name: Publish distribution to Test PyPI | |
# uses: pypa/gh-action-pypi-publish@release/v1.5 | |
# with: | |
# packages_dir: dist/ | |
# verbose: true | |
# skip_existing: true | |
# password: ${{ secrets.TEST_PYPI_API_TOKEN }} | |
# repository_url: https://test.pypi.org/legacy/ | |
# - name: Publish distribution to PyPI | |
# if: startsWith(github.ref, 'refs/tags') | |
# uses: pypa/gh-action-pypi-publish@release/v1.5 | |
# with: | |
# packages_dir: dist/ | |
# verbose: true | |
# skip_existing: true | |
# password: ${{ secrets.PYPI_API_TOKEN }} |