Skip to content

Install setuptools for appveyor #149

Install setuptools for appveyor

Install setuptools for appveyor #149

Workflow file for this run

name: Test and publish wheels
on: [push]
jobs:
build_wheels:
name: Build wheel for cp${{ matrix.python }}-${{ matrix.platform_id }}
runs-on: ${{ matrix.os }}
strategy:
# Ensure that a wheel builder finishes even if another fails
fail-fast: false
matrix:
include:
# Linux 32 bit manylinux2014
- os: ubuntu-latest
python: 38
platform_id: manylinux_i686
manylinux_image: manylinux2014
- os: ubuntu-latest
python: 39
platform_id: manylinux_i686
manylinux_image: manylinux2014
- os: ubuntu-latest
python: 310
platform_id: manylinux_i686
manylinux_image: manylinux2014
- os: ubuntu-latest
python: 311
platform_id: manylinux_i686
manylinux_image: manylinux2014
- os: ubuntu-latest
python: 312
platform_id: manylinux_i686
manylinux_image: manylinux2014
# Linux 64 bit manylinux2014
- os: ubuntu-latest
python: 38
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
- os: ubuntu-latest
python: 39
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
- os: ubuntu-latest
python: 310
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
- os: ubuntu-latest
python: 311
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
- os: ubuntu-latest
python: 312
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
# MacOS x86_64
- os: macos-latest
python: 38
platform_id: macosx_x86_64
- os: macos-latest
python: 39
platform_id: macosx_x86_64
- os: macos-latest
python: 310
platform_id: macosx_x86_64
- os: macos-latest
python: 311
platform_id: macosx_x86_64
- os: macos-latest
python: 312
platform_id: macosx_x86_64
steps:
- name: Checkout CPT
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Build and test wheels
env:
CIBW_BEFORE_BUILD: "python -m pip install cython>=0.20"
CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }}
CIBW_ARCHS: all
CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux_image }}
CIBW_MANYLINUX_I686_IMAGE: ${{ matrix.manylinux_image }}
CIBW_BEFORE_TEST: "CC=gcc CXX=g++"
CIBW_TEST_REQUIRES: pytest
CIBW_TEST_COMMAND: "mkdir tmp_for_test; cp -r {project}/tests tmp_for_test; pytest tmp_for_test/tests"
CIBW_BUILD_VERBOSITY: 1
run: bash CI/github/build_wheels.sh
- name: Store artifacts
uses: actions/upload-artifact@v2
with:
name: dist
path: wheelhouse/*.whl
# Build the source distribution under Linux
build_sdist:
name: Source distribution
runs-on: ubuntu-latest
steps:
- name: Checkout scikit-learn
uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v4
- name: Build source distribution
run: bash CI/github/build_source.sh
- name: Test source distribution
run: bash CI/github/test_source.sh
- name: Store artifacts
uses: actions/upload-artifact@v2
with:
name: dist
path: dist/*.tar.gz
publish:
name: Publish on Pypi if commit is tagged
needs: [build_sdist, build_wheels]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.8'
- uses: actions/download-artifact@v2
- name: Show artifacts
run: ls -R
working-directory: dist
- name: Publish package to Pypi
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@v1.4.2
with:
skip_existing: true
user: __token__
password: ${{ secrets.TOKEN_PYPI }}