Python Tests #681
This file contains hidden or 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 Tests | |
on: | |
pull_request: | |
paths: | |
- '.github/workflows/python.yml' | |
- 'cratedb_sqlparse_py/**' | |
push: | |
branches: [ main ] | |
paths: | |
- '.github/workflows/python.yml' | |
- 'cratedb_sqlparse_py/**' | |
# Allow job to be triggered manually. | |
workflow_dispatch: | |
# Run job each night after CrateDB nightly has been published. | |
schedule: | |
- cron: '0 3 * * *' | |
# Cancel in-progress jobs when pushing to the same branch. | |
concurrency: | |
cancel-in-progress: true | |
group: ${{ github.workflow }}-${{ github.ref }} | |
# Select Python grammar. | |
defaults: | |
run: | |
working-directory: cratedb_sqlparse_py | |
jobs: | |
tests: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["ubuntu-latest"] | |
python-version: ["3.10", "3.11", "3.12", "3.13"] | |
env: | |
OS: ${{ matrix.os }} | |
PYTHON: ${{ matrix.python-version }} | |
name: Python ${{ matrix.python-version }} on OS ${{ matrix.os }} | |
steps: | |
- name: Acquire sources | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: x64 | |
- name: Install uv | |
uses: astral-sh/setup-uv@v6 | |
- name: Set up project | |
run: | | |
uv sync --all-groups | |
- name: Run linter and software tests | |
run: | | |
uv run poe check | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v5 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
with: | |
files: ./coverage.xml | |
flags: unittests | |
env_vars: OS,PYTHON | |
name: codecov-umbrella | |
fail_ci_if_error: true |