Skip to content

Release

Release #40

Workflow file for this run

name: Release
on:
release:
types:
- released
jobs:
package:
name: Build and Package
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: "3.12"
- uses: actions/cache@v3
name: Cache pip dependencies
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install dependencies
run: |
python -m pip install --upgrade pip
make install-dev
- name: Lint
run: make lint
- name: Build package
run: make package version=${{ github.ref_name }}
- name: Upload Pipeline Artifacts
uses: actions/upload-artifact@v3
with:
retention-days: 1
name: built-artifacts
path: dist/
compile-wheels:
name: Compile Wheels
runs-on: ubuntu-22.04
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
needs: package
steps:
- uses: actions/checkout@v3
- name: Version
id: version
run: echo "value=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- uses: actions/cache@v3
name: Cache pip dependencies
with:
path: ~/.cache/pip
key: ${{ runner.os }}-${{ matrix.python-version }}-pip-${{ hashFiles('pyproject.toml') }}
restore-keys: |
${{ runner.os }}-${{ matrix.python-version }}-pip-
- name: Install dependencies
run: |
python -m pip install --upgrade pip
make install-dev
- uses: actions/download-artifact@v3
with:
name: built-artifacts
path: dist/
- name: Compile Wheel
run: make wheel version=${{ github.ref_name }}
- name: Upload Wheel
uses: actions/upload-artifact@v3
with:
retention-days: 1
name: compiled-wheels
path: wheels/
upload-assets:
name: Upload Assets to Release
runs-on: ubuntu-22.04
needs: compile-wheels
steps:
- uses: actions/download-artifact@v3
with:
name: compiled-wheels
path: dist/
- uses: AButler/[email protected]
with:
files: "dist/*"
repo-token: ${{ secrets.ACCESS_TOKEN }}
release-tag: ${{ github.ref_name }}
publish-pypi:
name: Publish packages to PyPi
runs-on: ubuntu-22.04
needs: compile-wheels
steps:
- uses: actions/download-artifact@v3
with:
name: compiled-wheels
path: dist/
- uses: pypa/[email protected]
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}