XX #174
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
name: CI | |
on: | |
- push | |
- pull_request | |
- workflow_dispatch | |
jobs: | |
linux: | |
runs-on: ubuntu-latest | |
container: quay.io/pypa/manylinux2014_x86_64 | |
strategy: | |
matrix: | |
include: | |
- spec: 'cp38-cp38' | |
- spec: 'cp39-cp39' | |
- spec: 'cp310-cp310' | |
- spec: 'cp311-cp311' | |
- spec: 'cp312-cp312' | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: Fetch source dependencies | |
env: | |
IVPM_PYTHON: /opt/python/${{ matrix.spec }}/bin/python | |
BUILD_NUM: ${{ github.run_id }} | |
run: | | |
echo "BUILD_NUM=${BUILD_NUM}" >> python/vsc_dm/__build_num__.py | |
${IVPM_PYTHON} -m pip install ivpm cython | |
${IVPM_PYTHON} -m ivpm update -a | |
- name: Build packages | |
env: | |
IVPM_PYTHON: ./packages/python/bin/python | |
run: | | |
${IVPM_PYTHON} -m pip install twine auditwheel ninja wheel cython | |
${IVPM_PYTHON} setup.py bdist_wheel | |
- name: Audit Wheels | |
env: | |
IVPM_PYTHON: ./packages/python/bin/python | |
run: | | |
for whl in dist/*.whl; do | |
${IVPM_PYTHON} -m auditwheel repair $whl | |
rm $whl | |
done | |
- name: Publish to PyPi | |
if: startsWith(github.ref, 'refs/heads/master') | |
env: | |
IVPM_PYTHON: ./packages/python/bin/python | |
BUILD_NUM: ${{ github.run_id }} | |
TWINE_USERNAME: __token__ | |
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} | |
run: | | |
${IVPM_PYTHON} -m 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/vsc_dm/__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/msvc-dev-cmd@v1.13.0 | |
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/vsc_dm/__build_num__.py | |
./packages/python/Scripts/python setup.py build bdist_wheel | |
ls dist | |
- 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 | |