feat: canvas v2 #3076
Workflow file for this run
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
# Runs python code quality checks. | |
# | |
# Checks for changes to python files before running the checks. | |
# If always_run is true, always runs the checks. | |
# | |
# TODO: Add mypy or pyright to the checks. | |
name: 'python checks' | |
on: | |
push: | |
branches: | |
- 'main' | |
pull_request: | |
types: | |
- 'ready_for_review' | |
- 'opened' | |
- 'synchronize' | |
merge_group: | |
workflow_dispatch: | |
inputs: | |
always_run: | |
description: 'Always run the checks' | |
required: true | |
type: boolean | |
default: true | |
workflow_call: | |
inputs: | |
always_run: | |
description: 'Always run the checks' | |
required: true | |
type: boolean | |
default: true | |
jobs: | |
python-checks: | |
runs-on: ubuntu-latest | |
timeout-minutes: 5 # expected run time: <1 min | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: check for changed python files | |
if: ${{ inputs.always_run != true }} | |
id: changed-files | |
uses: tj-actions/changed-files@v42 | |
with: | |
files_yaml: | | |
python: | |
- 'pyproject.toml' | |
- 'invokeai/**' | |
- '!invokeai/frontend/web/**' | |
- 'tests/**' | |
- name: setup python | |
if: ${{ steps.changed-files.outputs.python_any_changed == 'true' || inputs.always_run == true }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
cache: pip | |
cache-dependency-path: pyproject.toml | |
- name: install ruff | |
if: ${{ steps.changed-files.outputs.python_any_changed == 'true' || inputs.always_run == true }} | |
run: pip install ruff==0.6.0 | |
shell: bash | |
- name: ruff check | |
if: ${{ steps.changed-files.outputs.python_any_changed == 'true' || inputs.always_run == true }} | |
run: ruff check --output-format=github . | |
shell: bash | |
- name: ruff format | |
if: ${{ steps.changed-files.outputs.python_any_changed == 'true' || inputs.always_run == true }} | |
run: ruff format --check . | |
shell: bash |