0.2.0a2 #230
Workflow file for this run
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: Python Wheel | |
on: | |
push: | |
tags-ignore: | |
- '**' | |
branches: | |
- '**' | |
release: | |
types: ['released', 'prereleased'] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
container: python:${{ matrix.python-version }}${{ matrix.image-suffix }}-bullseye | |
strategy: | |
matrix: | |
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] | |
include: | |
- python-version: '3.12' | |
image-suffix: '-rc' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Build | |
shell: bash | |
run: | | |
python3 -m venv /tmp/py-venv | |
. /tmp/py-venv/bin/activate | |
python -m pip install -U pip build | |
python -m build . | |
- name: Upload Wheel | |
uses: actions/upload-artifact@v3 | |
with: | |
name: py_build_cmake-whl-${{ matrix.python-version }} | |
path: dist/py_build_cmake-*.whl | |
- name: Upload source | |
uses: actions/upload-artifact@v3 | |
with: | |
name: py_build_cmake-src-${{ matrix.python-version }} | |
path: dist/py_build_cmake-*.tar.gz | |
test: | |
needs: build | |
runs-on: ubuntu-latest | |
container: python:${{ matrix.python-version }}${{ matrix.image-suffix }}-bullseye | |
strategy: | |
matrix: | |
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] | |
include: | |
- python-version: '3.12' | |
image-suffix: '-rc' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: py_build_cmake-whl-${{ matrix.python-version }} | |
path: dist | |
- name: Run Nox | |
run: | | |
python -m pip install -U pip nox | |
python -m nox | |
env: | |
PY_BUILD_CMAKE_WHEEL_DIR: ${{ github.workspace }}/dist | |
build-windows: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
name: Install Python | |
with: | |
python-version: ${{ matrix.python-version }} | |
allow-prereleases: true | |
- name: Build | |
shell: powershell | |
run: | | |
python -m venv py-venv | |
./py-venv/Scripts/Activate.ps1 | |
python -m pip install -U pip build | |
python -m build . | |
env: | |
PYTHONUTF8: 1 | |
- name: Upload Wheel | |
uses: actions/upload-artifact@v3 | |
with: | |
name: py_build_cmake-whl-win-${{ matrix.python-version }} | |
path: dist/py_build_cmake-*.whl | |
- name: Upload source | |
uses: actions/upload-artifact@v3 | |
with: | |
name: py_build_cmake-src-${{ matrix.python-version }} | |
path: dist/py_build_cmake-*.tar.gz | |
test-windows: | |
needs: build-windows | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
name: Install Python | |
with: | |
python-version: ${{ matrix.python-version }} | |
allow-prereleases: true | |
- uses: actions/download-artifact@v3 | |
with: | |
name: py_build_cmake-whl-win-${{ matrix.python-version }} | |
path: dist | |
- name: Run Nox | |
run: | | |
python -m pip install -U pip nox | |
python -m nox | |
env: | |
PY_BUILD_CMAKE_WHEEL_DIR: ${{ github.workspace }}/dist | |
build-macos: | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
name: Install Python | |
with: | |
python-version: ${{ matrix.python-version }} | |
allow-prereleases: true | |
- name: Build | |
run: | | |
python -m venv py-venv | |
. ./py-venv/bin/activate | |
python -m pip install -U pip build | |
python -m build . | |
- name: Upload Wheel | |
uses: actions/upload-artifact@v3 | |
with: | |
name: py_build_cmake-whl-mac-${{ matrix.python-version }} | |
path: dist/py_build_cmake-*.whl | |
- name: Upload source | |
uses: actions/upload-artifact@v3 | |
with: | |
name: py_build_cmake-src-${{ matrix.python-version }} | |
path: dist/py_build_cmake-*.tar.gz | |
test-macos: | |
needs: build-macos | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
name: Install Python | |
with: | |
python-version: ${{ matrix.python-version }} | |
allow-prereleases: true | |
- uses: actions/download-artifact@v3 | |
with: | |
name: py_build_cmake-whl-mac-${{ matrix.python-version }} | |
path: dist | |
- name: Run Nox | |
run: | | |
python -m pip install -U pip nox | |
python -m nox | |
env: | |
PY_BUILD_CMAKE_WHEEL_DIR: ${{ github.workspace }}/dist | |
release: | |
if: ${{ github.event.action == 'released' || github.event.action == 'prereleased' }} | |
needs: [test, test-windows, test-macos] | |
runs-on: ubuntu-latest | |
container: python:${{ matrix.python-version }}-bullseye | |
strategy: | |
matrix: | |
python-version: ['3.11'] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: py_build_cmake-whl-${{ matrix.python-version }} | |
path: dist | |
- name: Install py_build_cmake | |
run: pip install --find-links=dist py_build_cmake==${{ github.event.release.tag_name }} | |
- name: 'Check py_build_cmake version' | |
run: | | |
[ "${{ github.event.release.tag_name }}" == "$(python -c 'from importlib.metadata import version as v; print(v("py_build_cmake"))')" ] | |
shell: bash | |
- name: Install Twine | |
run: pip install twine | |
- name: Check Wheel metadata | |
run: python -m twine check dist/py_build_cmake-*.whl | |
- name: Upload Wheel to PyPI | |
run: python -m twine upload dist/py_build_cmake-*.whl | |
env: | |
TWINE_USERNAME: __token__ | |
TWINE_PASSWORD: ${{ secrets.PyPI }} | |
- uses: actions/download-artifact@v3 | |
with: | |
name: py_build_cmake-src-${{ matrix.python-version }} | |
path: dist | |
- name: Upload source to PyPI | |
run: python -m twine upload dist/py_build_cmake-*.tar.gz | |
env: | |
TWINE_USERNAME: __token__ | |
TWINE_PASSWORD: ${{ secrets.PyPI }} |