Gui/blend text #4293
This file contains 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
# This does code inspection and checks to make sure building of docs works | |
name: GitHub based tests | |
on: | |
push: | |
branches: [development, maintenance] | |
pull_request: | |
branches: [development, maintenance] | |
workflow_dispatch: | |
jobs: | |
build: | |
name: Code inspections | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ['3.12'] | |
architecture: ['x64'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: setup | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: ${{ matrix.architecture }} | |
- name: dependencies | |
run: | | |
python -m pip install -U pip wheel setuptools | |
- name: wheel | |
id: wheel | |
run: | | |
python -m pip install -e .[dev] | |
- name: "code-inspection: mypy" | |
if: ${{ (success() || failure()) && steps.wheel.outcome == 'success' }} | |
run: | | |
python ./make.py mypy | |
- name: "code-inspection: pyright" | |
if: ${{ (success() || failure()) && steps.wheel.outcome == 'success' }} | |
run: | | |
python ./make.py pyright | |
- name: "code-inspection: ruff" | |
if: ${{ (success() || failure()) && steps.wheel.outcome == 'success' }} | |
run: | | |
python ./make.py ruff | |
- name: "code-inspection: formatting" | |
if: ${{ (success() || failure()) && steps.wheel.outcome == 'success' }} | |
run: | | |
python ./make.py format --check | |
# Prepare the Pull Request Payload artifact. If this fails, | |
# we fail silently using the `continue-on-error` option. It's | |
# nice if this succeeds, but if it fails for any reason, it | |
# does not mean that our lint-test checks failed. | |
- name: Prepare Pull Request Payload artifact | |
id: prepare-artifact | |
if: always() && github.event_name == 'pull_request' | |
continue-on-error: true | |
run: cat $GITHUB_EVENT_PATH | jq '.pull_request' > pull_request_payload.json | |
# This only makes sense if the previous step succeeded. To | |
# get the original outcome of the previous step before the | |
# `continue-on-error` conclusion is applied, we use the | |
# `.outcome` value. This step also fails silently. | |
- name: Upload a Build Artifact | |
if: always() && steps.prepare-artifact.outcome == 'success' | |
continue-on-error: true | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pull-request-payload | |
path: pull_request_payload.json | |
builddoc: | |
name: Documentation build test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
# python-version in must be kept in sync with .readthedocs.yaml | |
python-version: ['3.10'] # July 2024 | Match our contributor dev version; see pyproject.toml | |
architecture: ['x64'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: setup | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: ${{ matrix.architecture }} | |
- name: dependencies | |
run: | | |
python -m pip install -U pip wheel setuptools | |
- name: wheel | |
id: wheel | |
run: | | |
python -m pip install -e .[dev] | |
- name: build-docs | |
run: | | |
sphinx-build doc build -W | |
# Prepare the Pull Request Payload artifact. If this fails, | |
# we fail silently using the `continue-on-error` option. It's | |
# nice if this succeeds, but if it fails for any reason, it | |
# does not mean that our lint-test checks failed. | |
- name: Prepare Pull Request Payload artifact | |
id: prepare-artifact | |
if: always() && github.event_name == 'pull_request' | |
continue-on-error: true | |
run: cat $GITHUB_EVENT_PATH | jq '.pull_request' > pull_request_payload.json | |
# This only makes sense if the previous step succeeded. To | |
# get the original outcome of the previous step before the | |
# `continue-on-error` conclusion is applied, we use the | |
# `.outcome` value. This step also fails silently. | |
- name: Upload a Build Artifact | |
if: always() && steps.prepare-artifact.outcome == 'success' | |
continue-on-error: true | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pull-request-payload | |
path: pull_request_payload.json |