mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
57 lines
1.8 KiB
YAML
57 lines
1.8 KiB
YAML
name: Test Textual module
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- ".github/workflows/pythonpackage.yml"
|
|
- "**.py"
|
|
- "**.pyi"
|
|
- "**.css"
|
|
- "**.ambr"
|
|
- "**.lock"
|
|
- "Makefile"
|
|
|
|
env:
|
|
PYTEST_ADDOPTS: "--color=yes"
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
steps:
|
|
- uses: actions/checkout@v4.1.1
|
|
- name: Install Poetry
|
|
run: pipx install poetry==1.7.1
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
cache: "poetry"
|
|
- name: Install dependencies
|
|
run: poetry install --no-interaction --extras syntax
|
|
if: ${{ matrix.python-version != '3.9' }}
|
|
- name: Install dependencies for 3.9
|
|
run: poetry install --no-interaction
|
|
if: ${{ matrix.python-version == '3.9' }}
|
|
- name: Test with pytest (Py310+ - with syntax highlighting)
|
|
run: |
|
|
poetry run pytest tests -v --cov=./src/textual --cov-report=xml:./coverage.xml --cov-report term-missing
|
|
if: ${{ matrix.python-version != '3.9' }}
|
|
- name: Test with pytest (Py39 - without syntax highlighting)
|
|
run: |
|
|
poetry run pytest tests -v --cov=./src/textual --cov-report=xml:./coverage.xml --cov-report term-missing -m 'not syntax'
|
|
if: ${{ matrix.python-version == '3.9' }}
|
|
- name: Upload snapshot report
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: snapshot_report_textual
|
|
path: snapshot_report.html
|
|
overwrite: true
|