Skip to content

Swap to Poetry as package manager, build binary wheels #400

Swap to Poetry as package manager, build binary wheels

Swap to Poetry as package manager, build binary wheels #400

Workflow file for this run

name: Python build & test
on: [pull_request]
jobs:
build_wheels:
name: Build wheels on ${{ matrix.python }}-${{ matrix.buildplat[1] }}
runs-on: ${{ matrix.buildplat[0] }}
strategy:
fail-fast: false
matrix:
buildplat:
- [ubuntu-latest, manylinux_x86_64]
- [ubuntu-latest, musllinux_x86_64]
- [macos-13, macosx_x86_64]
- [macos-14, macosx_arm64]
- [windows-latest, win_amd64]
python: ["cp310", "cp311", "cp312"]
steps:
- name: Checkout anaStruct Repository
uses: actions/checkout@v4
- name: Build wheels
uses: pypa/[email protected]
env:
CIBW_BUILD: "${{ matrix.python }}-${{ matrix.buildplat[1] }}"
CIBW_BUILD_VERBOSITY: 1
- uses: actions/upload-artifact@v4
with:
name: anastruct-${{ matrix.python }}-${{ matrix.buildplat[1] }}
path: ./wheelhouse/*.whl
min_build:
name: Run Code Checks and Tests on Python 3.10
runs-on: "ubuntu-latest"
strategy:
matrix:
python-version: ["3.10"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade poetry
poetry install
- name: Run linting check with pylint
run: |
poetry run pylint ./anastruct
- name: Run formatting checks with black
run: |
poetry run black --check .
- name: Run type checks with mypy
run: |
poetry run mypy -p anastruct
- name: Run FEM tests with pytest
run: |
poetry run pytest --pspec tests/
run_tests:
name: Run FEM Testing Suite on Multiple Python Versions
runs-on: ubuntu-latest
strategy:
max-parallel: 3
matrix:
python-version: ["3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade poetry
poetry install
- name: Run FEM tests with pytest
run: |
poetry run pytest --pspec tests/