Skip to content

XX

XX #65

Workflow file for this run

name: CI
on:
- push
- pull_request
- workflow_dispatch
jobs:
linux:
runs-on: ubuntu-latest
container: quay.io/pypa/manylinux2014_x86_64
steps:
- name: checkout
uses: actions/checkout@v2
- name: Setup dependencies
run: |
set -eux
for py in cp37-cp37m cp38-cp38 cp39-cp39 cp310-cp310 cp311-cp311 cp312-cp312; do
/opt/python/${py}/bin/python -m pip install ivpm ninja wheel cython
done
- name: Fetch source dependencies
env:
IVPM_PYTHON: /opt/python/cp310-cp310/bin/python
run: |
set -eux
${IVPM_PYTHON} -m pip install ivpm twine auditwheel
${IVPM_PYTHON} -m ivpm update -a
ls packages/python
ls packages/python/bin
./packages/python/bin/python -m pip install cython setuptools wheel auditwheel build twine
- name: Build wheel
env:
BUILD_NUM: ${{ github.run_id }}
run: |
set -eux
echo "Building core"
echo "BUILD_NUM=${BUILD_NUM}" > python/debug_mgr/__build_num__.py
./packages/python/bin/python setup.py build_ext --inplace
for py in cp37-cp37m cp38-cp38 cp39-cp39 cp310-cp310 cp311-cp311 cp312-cp312; do
echo "Building Wheel for ${py}"
/opt/python/${py}/bin/python setup.py bdist_wheel
done
- name: Audit Wheels
env:
IVPM_PYTHON: /opt/python/cp310-cp310/bin/python
run: |
for whl in dist/*.whl; do
${IVPM_PYTHON} -m auditwheel repair $whl
done
- name: Publish to PyPi
if: startsWith(github.ref, 'refs/heads/main')
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: |
./packages/python/bin/twine upload wheelhouse/*.whl
macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Fetch dependencies
run: |
python3 --version
python3 -m pip install ivpm
python3 -m ivpm update -a
./packages/python/bin/python3 -m pip install cython setuptools wheel build twine
- name: Build wheel
env:
BUILD_NUM: ${{ github.run_id }}
run: |
echo "BUILD_NUM=${BUILD_NUM}" > python/debug_mgr/__build_num__.py
./packages/python/bin/python3 setup.py bdist_wheel
- name: Publish to PyPi
if: startsWith(github.ref, 'refs/heads/main')
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: |
./packages/python/bin/python3 -m twine upload dist/*.whl
windows:
runs-on: ${{ matrix.platform }}
strategy:
matrix:
include:
- platform: windows-latest
build_arch: x64
python_arch: x64
spec: '3.8'
- platform: windows-latest
build_arch: x64
python_arch: x64
spec: '3.9'
- platform: windows-latest
build_arch: x64
python_arch: x64
spec: '3.10'
- platform: windows-latest
build_arch: x64
python_arch: x64
spec: '3.11'
steps:
- name: checkout
uses: actions/checkout@v2
- name: Install python ${{ matrix.spec }}
uses: actions/setup-python@v2
with:
architecture: ${{ matrix.python_arch }}
python-version: ${{ matrix.spec }}
- uses: ilammy/[email protected]
with:
arch: ${{ matrix.build_arch }}
- name: Build/Test Package
env:
BUILD_NUM: ${{ github.run_id }}
run: |
python -m pip install ivpm
python -m ivpm update -a
./packages/python/Scripts/python -m pip install ninja cython setuptools wheel build twine
echo "BUILD_NUM=$env:BUILD_NUM" > python/debug_mgr/__build_num__.py
./packages/python/Scripts/python setup.py build bdist_wheel
- name: Publish to PyPi
if: startsWith(github.ref, 'refs/heads/main')
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
shell: bash
run: |
./packages/python/Scripts/python -m twine upload dist/*.whl