diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..a88f8ba --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,52 @@ +name: lint + +on: + push: + pull_request: + workflow_dispatch: + inputs: + debug: + description: 'Set to on, to open ssh debug session.' + required: true + default: 'off' + +jobs: + + linting: + runs-on: ubuntu-latest + strategy: + matrix: + # run static analysis on bleeding and trailing edges + python-version: [ '3.9', '3.12', '3.13rc1' ] + + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Install Poetry + uses: snok/install-poetry@v1 + with: + virtualenvs-create: true + virtualenvs-in-project: true + - name: Install Dependencies + run: | + poetry config virtualenvs.in-project true + poetry run pip install --upgrade pip + - name: Install Emacs + if: ${{ github.event.inputs.debug == 'on' }} + run: | + sudo apt install emacs + - name: Setup tmate session + if: ${{ github.event.inputs.debug == 'on' }} + uses: mxschmitt/action-tmate@v3 + with: + detached: true + timeout-minutes: 60 + - name: Run Static Analysis + run: | + source .venv/bin/activate + ./check.sh --no-fix + python -m readme_renderer ./README.md -o /tmp/README.html + echo "$(poetry env info --path)/bin" >> $GITHUB_PATH diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5ed9a89..654b117 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,57 +14,26 @@ on: jobs: - - static-analysis: - runs-on: ubuntu-latest - strategy: - matrix: - # run static analysis on bleeding and trailing edges - python-version: ['3.12'] - - steps: - - uses: actions/checkout@v4 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - - name: Install Poetry - uses: snok/install-poetry@v1 - with: - virtualenvs-create: true - virtualenvs-in-project: true - - name: Install Dependencies - run: | - sudo apt-get install libopenblas-dev - poetry config virtualenvs.in-project true - poetry run pip install --upgrade pip - poetry install -E html -E png -E pdf - - name: Run Static Analysis - run: | - ./check.sh --no-fix - poetry run python -m readme_renderer ./README.md - build: runs-on: ubuntu-latest strategy: matrix: python-version: ['3.9', '3.10', '3.11', '3.12', '3.13.0-rc.1'] sphinx-version: - - '^6.0' - - '^7.0' - - '>=8' + - '6.0' + - '7.0' + - '8.0' exclude: - python-version: '3.12' - sphinx-version: '^7.0' + sphinx-version: '7.0' - python-version: '3.12' - sphinx-version: '^6.0' + sphinx-version: '6.0' - python-version: '3.13.0-rc.1' - sphinx-version: '^7.0' + sphinx-version: '7.0' - python-version: '3.13.0-rc.1' - sphinx-version: '^6.0' + sphinx-version: '6.0' - python-version: '3.9' - sphinx-version: '>=8' + sphinx-version: '8.0' steps: - uses: actions/checkout@v4 @@ -83,7 +52,7 @@ jobs: poetry config virtualenvs.in-project true poetry run pip install --upgrade pip poetry install -E html -E png -E pdf - poetry run pip install -U "Sphinx${{ matrix.sphinx-version }}" + poetry run pip install -U "Sphinx=~${{ matrix.sphinx-version }}" - name: Install Emacs if: ${{ github.event.inputs.debug == 'on' }} diff --git a/README.md b/README.md index 77e5350..580d3a5 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ [![Documentation Status](https://readthedocs.org/projects/sphinxcontrib-typer/badge/?version=latest)](http://sphinxcontrib-typer.readthedocs.io/?badge=latest/) [![Code Cov](https://codecov.io/gh/sphinx-contrib/typer/branch/main/graph/badge.svg?token=0IZOKN2DYL)](https://app.codecov.io/gh/sphinx-contrib/typer) [![Test Status](https://github.com/sphinx-contrib/typer/workflows/test/badge.svg)](https://github.com/sphinx-contrib/typer/actions/workflows/test.yml) +[![Lint Status](https://github.com/sphinx-contrib/typer/workflows/lint/badge.svg)](https://github.com/sphinx-contrib/typer/actions/workflows/lint.yml) [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) # sphinxcontrib-typer