Updated release date #125
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
# This workflow will install Python dependencies, and run tests with a variety of Python versions | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | |
name: Python package | |
on: | |
push: | |
branches: [ "master" ] | |
pull_request: | |
branches: [ "master" ] | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["ubuntu-latest", "macos-latest", "windows-latest"] | |
python-version: ["3.10", "3.11", "3.12", "3.13"] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout project | |
uses: actions/checkout@v3 | |
# https://github.com/marketplace/actions/python-setup-uv | |
- name: Install the latest version of uv | |
uses: astral-sh/setup-uv@v3 | |
with: | |
version: "latest" | |
- name: Set UV_PYTHON to Python ${{ matrix.python-version }} | |
run: echo "UV_PYTHON=${{ matrix.python-version }}" >> $GITHUB_ENV | |
- name: Install Python ${{ matrix.python-version }} | |
run: uv python install "${{ matrix.python-version }}" | |
- name: Create virtual Python environment | |
run: uv venv | |
- name: Install ruff | |
run: uv pip install ruff | |
- name: Check linting errors | |
run: uv run --no-sync ruff check setup.py patoolib tests doc/web/source | |
- name: Check code formatting | |
run: uv run --no-sync ruff format --check setup.py patoolib tests doc/web/source | |
- name: Install archive programs on Linux | |
if: ${{ runner.os=='Linux' }} | |
run: > | |
sudo apt-get update && | |
sudo apt-get install --no-install-recommends --yes arc archmage arj binutils bzip2 cabextract lzip lz4 plzip clzip pdlzip cpio flac genisoimage lbzip2 libarchive-tools lhasa lrzip lzop ncompress nomarch pbzip2 p7zip-full rar rpm2cpio unzip unace unalz unar unrar sharutils tar xdms zip zopfli zstd | |
- name: Install pytest and modules | |
run: uv pip install pytest pytest-xdist[psutil] pytest-randomly | |
- name: Test with pytest | |
run: uv run --no-sync pytest -s --full-trace --numprocesses auto tests/ |