Skip to content

0.2.2 RC 1

0.2.2 RC 1 #134

Workflow file for this run

name: CI
on:
pull_request:
branches:
- master
push:
branches:
- master
release:
types: published
jobs:
tar_gz:
name: Package
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@master
- uses: actions/setup-python@master
with:
python-version: 3.12
- run: pip install -r requirements-build-3_12.txt
- run: python setup.py sdist
- uses: actions/upload-artifact@v3
with:
name: dist
path: dist
matrix_config:
name: Matrix Runner Config
runs-on: ubuntu-22.04
outputs:
matrix_os: ${{ steps.step.outputs.matrix_os }}
steps:
- run: echo "$GITHUB_EVENT_NAME"
- id: step
run: |
if [ "$GITHUB_EVENT_NAME" = "release" ]; then
echo 'matrix_os=["macos-13-xlarge", "macos-13", "ubuntu-22.04", "windows-2022"]' >> $GITHUB_OUTPUT
else
echo 'matrix_os=["macos-13", "ubuntu-22.04", "windows-2022"]' >> $GITHUB_OUTPUT
fi
whl_3_8:
name: Build / ${{ matrix.os }} / Python 3.${{ matrix.minor }}
needs: matrix_config
strategy:
fail-fast: false
matrix:
os: ${{ fromJson(needs.matrix_config.outputs.matrix_os) }}
minor: [8]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@master
- uses: actions/setup-python@master
- run: echo '::add-matcher::.github/problem-matchers/gcc.json'
if: startsWith(matrix.os, 'macos-') || startsWith(matrix.os, 'ubuntu-')
- run: echo '::add-matcher::.github/problem-matchers/msvc.json'
if: startsWith(matrix.os, 'windows-')
- uses: pypa/[email protected]
if: matrix.os != 'macos-13-xlarge'
with:
output-dir: dist
env:
CIBW_BUILD: cp3${{ matrix.minor }}-*
CIBW_ARCHS_WINDOWS: x86 AMD64
CIBW_ARCHS_MACOS: x86_64
CIBW_BEFORE_BUILD: pip install -r {project}/requirements-build-3_08.txt
CIBW_BEFORE_TEST: pip install -r {project}/requirements-dev-3_08.txt
CIBW_TEST_COMMAND: pytest {project}
- run: pip install pipx
if: matrix.os == 'macos-13-xlarge'
- uses: pypa/[email protected]
if: matrix.os == 'macos-13-xlarge'
with:
output-dir: dist
env:
CIBW_BUILD: cp3${{ matrix.minor }}-macosx_arm64
CIBW_BEFORE_BUILD: pip install -r {project}/requirements-build-3_08.txt
CIBW_BEFORE_TEST: pip install -r {project}/requirements-dev-3_08.txt
CIBW_TEST_COMMAND: pytest {project}/test
- uses: actions/upload-artifact@v3
with:
name: dist
path: dist
whl_3_9_to_3_11:
name: Build / ${{ matrix.os }} / Python 3.${{ matrix.minor }}
needs: matrix_config
strategy:
fail-fast: false
matrix:
os: ${{fromJson(needs.matrix_config.outputs.matrix_os)}}
minor: [9, 10, 11]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@master
- uses: actions/setup-python@master
- run: echo '::add-matcher::.github/problem-matchers/gcc.json'
if: startsWith(matrix.os, 'macos-') || startsWith(matrix.os, 'ubuntu-')
- run: echo '::add-matcher::.github/problem-matchers/msvc.json'
if: startsWith(matrix.os, 'windows-')
- uses: pypa/[email protected]
if: matrix.os != 'macos-13-xlarge'
with:
output-dir: dist
env:
CIBW_BUILD: cp3${{ matrix.minor }}-*
CIBW_ARCHS_WINDOWS: x86 AMD64
CIBW_ARCHS_MACOS: x86_64
CIBW_BEFORE_BUILD: pip install -r {project}/requirements-build-3_11.txt
CIBW_BEFORE_TEST: pip install -r {project}/requirements-dev-3_11.txt
CIBW_TEST_COMMAND: pytest {project}
- run: pip install pipx
if: matrix.os == 'macos-13-xlarge'
- uses: pypa/[email protected]
if: matrix.os == 'macos-13-xlarge'
with:
output-dir: dist
env:
CIBW_BUILD: cp3${{ matrix.minor }}-macosx_arm64
CIBW_BEFORE_BUILD: pip install -r {project}/requirements-build-3_11.txt
CIBW_BEFORE_TEST: pip install -r {project}/requirements-dev-3_11.txt
CIBW_TEST_COMMAND: pytest {project}/test
- uses: actions/upload-artifact@v3
with:
name: dist
path: dist
whl_3_12:
name: Build / ${{ matrix.os }} / Python 3.${{ matrix.minor }}
needs: matrix_config
strategy:
fail-fast: false
matrix:
os: ${{fromJson(needs.matrix_config.outputs.matrix_os)}}
minor: [12]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@master
- uses: actions/setup-python@master
- run: echo '::add-matcher::.github/problem-matchers/gcc.json'
if: startsWith(matrix.os, 'macos-') || startsWith(matrix.os, 'ubuntu-')
- run: echo '::add-matcher::.github/problem-matchers/msvc.json'
if: startsWith(matrix.os, 'windows-')
- run: pip install pipx
if: startsWith(matrix.os, 'macos-')
- uses: pypa/[email protected]
if: matrix.os != 'macos-13-xlarge'
with:
output-dir: dist
env:
CIBW_BUILD: cp3${{ matrix.minor }}-*
CIBW_ARCHS_WINDOWS: x86 AMD64
CIBW_ARCHS_MACOS: x86_64
CIBW_BEFORE_BUILD: pip install -r {project}/requirements-build-3_12.txt
CIBW_BEFORE_TEST: pip install -r {project}/requirements-dev-3_12.txt
CIBW_TEST_COMMAND: pytest {project}
- uses: actions/upload-artifact@v3
with:
name: dist
path: dist
- run: pip install pipx
if: matrix.os == 'macos-13-xlarge'
- uses: pypa/[email protected]
if: matrix.os == 'macos-13-xlarge'
with:
output-dir: dist
env:
CIBW_BUILD: cp3${{ matrix.minor }}-macosx_arm64
CIBW_BEFORE_BUILD: pip install -r {project}/requirements-build-3_12.txt
CIBW_BEFORE_TEST: pip install -r {project}/requirements-dev-3_12.txt
CIBW_TEST_COMMAND: pytest {project}/test
upload:
name: Publish
if: github.event_name == 'release'
needs: [tar_gz, whl_3_8, whl_3_9_to_3_11, whl_3_12]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v3
with:
name: dist
path: dist
- uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_TOKEN }}
skip_existing: true