Skip to content

Pip install

Pip install #2

Workflow file for this run

# 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 .