Merge pull request #43 from MurTree/docs #23
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
# This provided workflow file is focused on testing a Python project using pip, the package installer for Python. | |
# There's also a specialized job for building and testing the package in a Mingw64 environment on Windows. | |
name: Pip | |
on: | |
workflow_dispatch: | |
pull_request: | |
push: | |
branches: | |
- develop | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [windows-latest, macos-latest, ubuntu-latest] | |
python-version: ["3.7", "3.11"] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Add requirements | |
run: python -m pip install --upgrade wheel setuptools | |
- name: Build and install | |
run: pip install --verbose . | |
- name: Test | |
run: | | |
pip install pytest | |
pytest | |
build-mingw64: | |
runs-on: windows-latest | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: msys2/setup-msys2@v2 | |
with: | |
update: true | |
install: >- | |
mingw-w64-x86_64-gcc | |
mingw-w64-x86_64-python-pip | |
mingw-w64-x86_64-python-wheel | |
- uses: actions/checkout@v3 | |
- name: Install pybind11 | |
# This is required because --no-build-isolation disable dependences | |
# installation | |
run: pip install pybind11 | |
- name: Build and install | |
# --no-build-isolation is required because the vanilla setuptool does not | |
# support Mingw64.See patches here: | |
# https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-python-setuptools | |
# Without those patches build_ext fails with: | |
# error: --plat-name must be one of ('win32', 'win-amd64', 'win-arm32', 'win-arm64') | |
run: pip install --no-build-isolation . | |
- name: Test | |
run: python tests/test.py |