Skip to content

docs: prepare version 0.19.0 #180

docs: prepare version 0.19.0

docs: prepare version 0.19.0 #180

Workflow file for this run

name: build
on:
push:
branches:
- "master"
- "ci-*"
tags:
- "**"
pull_request:
workflow_dispatch:
env:
PY_COLORS: 1
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
# fetch all commits for version computation
fetch-depth: 0
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: "3.14"
- name: Install dependencies
run: python -m pip install -U build
- name: Build
run: python -m build
- name: List distributions
run: ls -lR dist
- name: Save build artifacts
uses: actions/upload-artifact@v5
with:
name: build
path: dist
- name: Install sdist
run: python -m pip install dist/*.tar.gz
- name: Test
run: python -m unittest discover tests -v
tests-py:
name: Test | ${{ matrix.python }}
runs-on: ubuntu-latest
needs:
- build
strategy:
matrix:
python:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
- "pypy-3.10"
- "pypy-3.11"
steps:
- uses: actions/checkout@v6
- name: Restore build artifacts
uses: actions/download-artifact@v6
with:
name: build
path: dist
- name: Setup Python ${{ matrix.python }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python }}
- name: Install wheel
run: python -m pip install dist/*.whl
- name: Test
run: python -m unittest discover tests -v
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: 3.14
- name: Install dependencies
run: python -m pip install -r requirements-lint.txt
- name: ruff check
run: ruff check
- name: ruff format
run: ruff format --check
type:
name: Type
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: 3.14
- name: Install dependencies
run: python -m pip install -r requirements-type.txt
- name: Create _version.py
run: echo '__version__ = ""' > src/pyzstd/_version.py
- name: mypy
run: mypy
publish:
name: Publish to PyPI
if: startsWith(github.ref, 'refs/tags')
needs:
- build
- tests-py
runs-on: ubuntu-latest
environment: publish
permissions:
id-token: write # This permission is mandatory for trusted publishing
steps:
- name: Restore build artifacts
uses: actions/download-artifact@v6
with:
name: build
path: dist
- name: List distributions
run: ls -lR dist
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
verbose: true
print-hash: true