You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.6 KiB
66 lines
1.6 KiB
name: Pip |
|
|
|
on: |
|
workflow_dispatch: |
|
pull_request: |
|
push: |
|
branches: |
|
- master |
|
|
|
jobs: |
|
build: |
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
platform: [windows-latest, macos-latest, ubuntu-latest] |
|
python-version: ["3.6", "3.10"] |
|
|
|
runs-on: ${{ matrix.platform }} |
|
|
|
steps: |
|
- uses: actions/checkout@v2 |
|
|
|
- uses: actions/setup-python@v2 |
|
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: python tests/test.py |
|
|
|
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@v2 |
|
|
|
- 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
|
|
|