|
|
|
|
|
|
|
|
|
|
|
name: 'frontend tests' |
|
|
|
on: |
|
push: |
|
branches: |
|
- 'main' |
|
pull_request: |
|
types: |
|
- 'ready_for_review' |
|
- 'opened' |
|
- 'synchronize' |
|
merge_group: |
|
workflow_dispatch: |
|
inputs: |
|
always_run: |
|
description: 'Always run the tests' |
|
required: true |
|
type: boolean |
|
default: true |
|
workflow_call: |
|
inputs: |
|
always_run: |
|
description: 'Always run the tests' |
|
required: true |
|
type: boolean |
|
default: true |
|
|
|
defaults: |
|
run: |
|
working-directory: invokeai/frontend/web |
|
|
|
jobs: |
|
frontend-tests: |
|
runs-on: ubuntu-latest |
|
timeout-minutes: 10 |
|
steps: |
|
- uses: actions/checkout@v4 |
|
|
|
- name: check for changed frontend files |
|
if: ${{ inputs.always_run != true }} |
|
id: changed-files |
|
uses: tj-actions/changed-files@v42 |
|
with: |
|
files_yaml: | |
|
frontend: |
|
- 'invokeai/frontend/web/**' |
|
|
|
- name: install dependencies |
|
if: ${{ steps.changed-files.outputs.frontend_any_changed == 'true' || inputs.always_run == true }} |
|
uses: ./.github/actions/install-frontend-deps |
|
|
|
- name: vitest |
|
if: ${{ steps.changed-files.outputs.frontend_any_changed == 'true' || inputs.always_run == true }} |
|
run: 'pnpm test:no-watch' |
|
shell: bash |
|
|