Pip install #2
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 install | |
on: | |
workflow_dispatch: | |
pull_request: | |
push: | |
branches: | |
- master | |
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.8", "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 . | |
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 | |
mingw-w64-x86_64-python-pandas | |
mingw-w64-x86_64-meson | |
mingw-w64-x86_64-python-scikit-learn | |
- uses: actions/checkout@v3 | |
- name: Add requirements | |
# This is required because --no-build-isolation disable dependences | |
# installation | |
run: python -m pip install pybind11 meson-python | |
- 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 . |