Bump actions/download-artifact #1
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 }}-bullseye | |
strategy: | |
matrix: | |
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] | |
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 }}-bullseye | |
strategy: | |
matrix: | |
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/[email protected] | |
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'] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
name: Install Python | |
with: | |
python-version: ${{ matrix.python-version }} | |
- 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'] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
name: Install Python | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: actions/[email protected] | |
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'] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
name: Install Python | |
with: | |
python-version: ${{ matrix.python-version }} | |
- 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'] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
name: Install Python | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: actions/[email protected] | |
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.10'] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/[email protected] | |
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: Upload Wheel to PyPI | |
run: python -m twine upload dist/py_build_cmake-*.whl | |
env: | |
TWINE_USERNAME: __token__ | |
TWINE_PASSWORD: ${{ secrets.PyPI }} | |
- uses: actions/[email protected] | |
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 }} |