Skip to content

A bit of testing for the wheels #161

A bit of testing for the wheels

A bit of testing for the wheels #161

Workflow file for this run

name: pygom
on:
push:
branches:
- master
- dev
- feature/*
- bugfix/*
pull_request:
branches:
- master
- dev
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest] #, macos-13, macos-14]
python-version: ["3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v1
if: startsWith(runner.os, 'Linux')
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- uses: actions/cache@v1
if: startsWith(runner.os, 'macOS')
with:
path: ~/Library/Caches/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- uses: actions/cache@v1
if: startsWith(runner.os, 'Windows')
with:
path: ~\AppData\Local\pip\Cache
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Set up Python
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Check python version
run: python -c "import sys; print(sys.version)"
- name: Install pip
run: |
python -m pip install --upgrade pip
- name: install PyGOM
run: |
pip install .
- name: Run tests
run: python -m unittest discover --verbose --start-directory tests
build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
# Ensure that a wheel builder finishes even if another fails
fail-fast: false
matrix:
include:
# Window 64 bit
- os: windows-latest
python: cp39
platform_id: win_amd64
- os: windows-latest
python: cp310
platform_id: win_amd64
- os: windows-latest
python: cp311
platform_id: win_amd64
- os: windows-latest
python: cp312
platform_id: win_amd64
# # Linux 64 bit manylinux2014
# - os: ubuntu-latest
# python: cp39
# platform_id: manylinux_x86_64
# manylinux_image: manylinux2014
# NumPy on Python 3.10 only supports 64bit and is only available with manylinux2014
- os: ubuntu-latest
python: cp310
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
- os: ubuntu-latest
python: cp311
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
- os: ubuntu-latest
python: cp312
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
# Used to host cibuildwheel
- uses: actions/setup-python@v5
- name: Install cibuildwheel
run: python -m pip install cibuildwheel>=2.19.2
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_BUILD: ${{ matrix.python }}-${{ matrix.platform_id }}*
CIBW_TEST_COMMAND: python -W default -m unittest discover --start-directory {project}/tests
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl