Fix uv github action #120
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 | |
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 | |
run: echo "UV_PYTHON=${{ matrix.python-version }}" >> $GITHUB_ENV | |
- name: Install Python ${{ matrix.python-version }} | |
run: uv python install "${{ matrix.python-version }}" | |
- name: Install ruff | |
run: | | |
uv tool install ruff | |
- name: Check linting errors | |
run: | | |
ruff check setup.py patoolib tests doc/web/source | |
- name: Check code formatting | |
run: | | |
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 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 rpm2cpio unzip unace unalz unar sharutils tar xdms zip zopfli zstd | |
- name: Install virtual environment | |
run: uv venv | |
- name: Install test modules | |
run: uv pip install pytest pytest-xdist[psutil] pytest-randomly | |
- name: Test with pytest | |
run: | | |
uv run pytest -s --full-trace --numprocesses auto tests/ |