Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ jobs:
- name: Install backend dependencies
run: |
python -m pip install --upgrade pip
# CPU torch first: hosted runners have no GPU, and PyPI torch drags
# the multi-GB nvidia-*-cu13 wheel stack that fills the runner disk.
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu
pip install -e .[dev]

- name: Compile backend sources
Expand All @@ -26,6 +29,7 @@ jobs:
- name: Run backend contract lane
run: |
PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 pytest \
-m "not cuda" \
tests/test_web_utils.py \
tests/test_web_api.py \
tests/test_pipeline_status_api.py \
Expand Down Expand Up @@ -76,6 +80,9 @@ jobs:
- name: Install backend dependencies
run: |
python -m pip install --upgrade pip
# CPU torch first: hosted runners have no GPU, and PyPI torch drags
# the multi-GB nvidia-*-cu13 wheel stack that fills the runner disk.
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu
pip install -e .[dev]

- name: Run critical-module coverage gate
Expand Down Expand Up @@ -108,6 +115,9 @@ jobs:
- name: Install backend dependencies
run: |
python -m pip install --upgrade pip
# CPU torch first: hosted runners have no GPU, and PyPI torch drags
# the multi-GB nvidia-*-cu13 wheel stack that fills the runner disk.
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu
pip install -e .[dev]

- name: Generate canonical benchmark dashboard fixture
Expand Down Expand Up @@ -202,6 +212,9 @@ jobs:
- name: Install backend dependencies and security tooling
run: |
python -m pip install --upgrade pip
# CPU torch first: hosted runners have no GPU, and PyPI torch drags
# the multi-GB nvidia-*-cu13 wheel stack that fills the runner disk.
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu
pip install -e .[dev]
pip install pip-audit cyclonedx-bom

Expand Down Expand Up @@ -257,6 +270,9 @@ jobs:
- name: Install backend dependencies
run: |
python -m pip install --upgrade pip
# CPU torch first: hosted runners have no GPU, and PyPI torch drags
# the multi-GB nvidia-*-cu13 wheel stack that fills the runner disk.
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu
pip install -e .[dev]

- name: Prepare compose environment
Expand Down Expand Up @@ -323,6 +339,9 @@ jobs:
- name: Install backend dependencies
run: |
python -m pip install --upgrade pip
# CPU torch first: hosted runners have no GPU, and PyPI torch drags
# the multi-GB nvidia-*-cu13 wheel stack that fills the runner disk.
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu
pip install -e .[dev]

- name: Install frontend dependencies
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ venv/
# Testing
.pytest_cache/
.coverage
coverage.remaining.json
htmlcov/
.mypy_cache/

Expand Down
4 changes: 4 additions & 0 deletions frontend/e2e/conversion-workflow.live.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ test.describe('Live backend conversion workflow', () => {
buffer: createWavBuffer(),
})

// Workflows no longer auto-submit: generation starts from the explicit
// button (f74d4c7).
await page.getByTestId('start-generation-button').click()

await expect(page.getByText('Ready for Conversion').first()).toBeVisible({ timeout: 20_000 })
await page.getByRole('button', { name: /Convert Workflow Song/ }).click()

Expand Down
3 changes: 3 additions & 0 deletions frontend/e2e/full-ui-local.live.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,9 @@ test.describe('Local full UI workflow coverage', () => {
mimeType: 'audio/wav',
buffer: createWavBuffer(24_000, 4),
})
// Workflows no longer auto-submit: generation starts from the explicit
// button (f74d4c7).
await page.getByTestId('start-generation-button').click()
await expect(page.getByText('Ready for Conversion').first()).toBeVisible({ timeout: 20_000 })
await page.getByRole('button', { name: /Convert Workflow Song/ }).click()
await expect(page.getByText('Conversion complete', { exact: true })).toBeVisible({ timeout: 15_000 })
Expand Down
Loading
Loading