|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
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 |
|
|