Skip to content

fix: pipe operator into module-qualified calls (#326) #637

fix: pipe operator into module-qualified calls (#326)

fix: pipe operator into module-qualified calls (#326) #637

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.11", "3.12", "3.13"]
name: test (${{ matrix.os }}, ${{ matrix.python-version }})${{ matrix.python-version == '3.12' && matrix.os == 'ubuntu-latest' && ' + coverage' || '' }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: pip install -e ".[dev]"
- name: Run tests
run: pytest -v
- name: Run tests with coverage
if: matrix.python-version == '3.12' && matrix.os == 'ubuntu-latest'
run: pytest --cov=vera --cov-report=term-missing --cov-report=xml --cov-fail-under=80
- name: Upload coverage to Codecov
if: matrix.python-version == '3.12' && matrix.os == 'ubuntu-latest'
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage.xml
flags: python
fail_ci_if_error: false
typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Install dependencies
run: pip install -e ".[dev]"
- name: Run mypy
run: mypy vera/
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Install dependencies
run: pip install -e ".[dev]"
- name: Check conformance suite
run: python scripts/check_conformance.py
- name: Check all examples type-check and verify cleanly
run: python scripts/check_examples.py
- name: Check version numbers are in sync
run: python scripts/check_version_sync.py
- name: Check spec code blocks parse correctly
run: python scripts/check_spec_examples.py
- name: Check README code blocks parse correctly
run: python scripts/check_readme_examples.py
- name: Check SKILL.md code blocks parse correctly
run: python scripts/check_skill_examples.py
- name: Check FAQ code blocks parse correctly
run: python scripts/check_faq_examples.py
- name: Check HTML code blocks parse, check, and verify
run: python scripts/check_html_examples.py
- name: Check site assets are up-to-date
run: python scripts/check_site_assets.py
- name: Check license compliance
run: python scripts/check_licenses.py
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Gitleaks
uses: gitleaks/gitleaks-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
browser-parity:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: "22"
- name: Install dependencies
run: pip install -e ".[dev]"
- name: Run browser parity tests
run: pytest tests/test_browser.py -v
env:
NODE_V8_COVERAGE: ${{ runner.temp }}/v8-coverage
- name: Generate JS coverage report
if: always()
run: npx c8 report --temp-directory="${{ runner.temp }}/v8-coverage" --reporter=lcov --report-dir=./js-coverage --src=vera/browser/
- name: Upload JS coverage to Codecov
if: always()
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: js-coverage/lcov.info
flags: javascript
fail_ci_if_error: false