Skip to content

feat: --help-json flag for structured CLI discovery (#43) #99

feat: --help-json flag for structured CLI discovery (#43)

feat: --help-json flag for structured CLI discovery (#43) #99

Workflow file for this run

name: CI
on:
push:
branches:
- master
- main
tags-ignore:
- '**'
pull_request:
jobs:
tests:
name: Tests (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Install uv
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2
with:
enable-cache: true
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: uv sync --all-extras --all-groups
- name: Running lint check
run: uv run ruff check .
- name: Check format
run: uv run ruff format --check .
- name: Running type checking
run: uv run pyright
env:
PYRIGHT_PYTHON_GLOBAL_NODE: true
- name: Run tests
run: uv run pytest -vv --junitxml=tests/junit.xml
- name: Test Example
run: bash ./bin/run-examples.sh
- name: Generating coverage
run: |
uv run coverage xml -o tests/coverage.xml
uv run coverage html
- name: Upload coverage
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
with:
name: coverage-html-${{ matrix.python-version }}
path: htmlcov
- name: Upload snapshot report on failure
if: failure()
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
with:
name: snapshot-report-${{ matrix.python-version }}
path: snapshot_report.html