chore: Update test-meson.yml workflow to include f90wrap in pip insta… #3
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: Build and Publish Python wheels to PyPI and TestPyPI | |
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: | |
build_wheels: | |
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@v1 | |
with: | |
python-version: '3.11' | |
- 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 | |
- name: check git info | |
run: | | |
git tag -l | |
git status | |
git describe --tags --dirty --match "2[0-9]*" | |
- name: test meson.build | |
run: | | |
cd src/supy_driver | |
meson setup build | |
meson compile -C build | |
meson test -C build | |
# - 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: 15 | |
# - 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 }} |