Partial Loading PR1: Tidy ModelCache (#7492) #29
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 typegen schema quality checks. | |
# Frontend types should match the server. | |
# | |
# Checks for changes to files before running the checks. | |
# If always_run is true, always runs the checks. | |
name: 'typegen 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: | |
typegen-checks: | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 15 # expected run time: <5 min | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: check for changed files | |
if: ${{ inputs.always_run != true }} | |
id: changed-files | |
uses: tj-actions/changed-files@v42 | |
with: | |
files_yaml: | | |
src: | |
- 'pyproject.toml' | |
- 'invokeai/**' | |
- name: setup python | |
if: ${{ steps.changed-files.outputs.src_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 python dependencies | |
if: ${{ steps.changed-files.outputs.src_any_changed == 'true' || inputs.always_run == true }} | |
run: pip3 install --use-pep517 --editable="." | |
- name: install frontend dependencies | |
if: ${{ steps.changed-files.outputs.src_any_changed == 'true' || inputs.always_run == true }} | |
uses: ./.github/actions/install-frontend-deps | |
- name: copy schema | |
if: ${{ steps.changed-files.outputs.src_any_changed == 'true' || inputs.always_run == true }} | |
run: cp invokeai/frontend/web/src/services/api/schema.ts invokeai/frontend/web/src/services/api/schema_orig.ts | |
shell: bash | |
- name: generate schema | |
if: ${{ steps.changed-files.outputs.src_any_changed == 'true' || inputs.always_run == true }} | |
run: make frontend-typegen | |
shell: bash | |
- name: compare files | |
if: ${{ steps.changed-files.outputs.src_any_changed == 'true' || inputs.always_run == true }} | |
run: | | |
if ! diff invokeai/frontend/web/src/services/api/schema.ts invokeai/frontend/web/src/services/api/schema_orig.ts; then | |
echo "Files are different!"; | |
exit 1; | |
fi | |
shell: bash |