Skip to content

Merge pull request #49 from audiohacking/copilot/fix-audio-duration-i… #47

Merge pull request #49 from audiohacking/copilot/fix-audio-duration-i…

Merge pull request #49 from audiohacking/copilot/fix-audio-duration-i… #47

# New UI API integration tests: real Flask app, no mocks.
# Asserts API contract (paths and JSON shape) for ace-step-ui compatibility.
name: New UI API Tests
on:
push:
branches: [main, develop, experimental-ui]
pull_request:
branches: [main, develop, experimental-ui]
workflow_dispatch:
permissions:
contents: read
jobs:
api-tests:
name: New UI API integration tests
runs-on: macos-latest
timeout-minutes: 25
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements_ace_macos.txt
pip install pytest
- name: Install optional deps (no-deps)
run: |
pip install "audio-separator==0.40.0" --no-deps || true
pip install "py3langid==0.3.0" --no-deps || true
pip install "git+https://github.com/ace-step/ACE-Step.git" --no-deps || true
- name: Run New UI API integration tests
run: |
cd "$GITHUB_WORKSPACE"
python -m pytest tests/test_new_ui_api.py -v --tb=short
build-ui:
name: Build new UI (React SPA) with Bun
runs-on: macos-latest
timeout-minutes: 10
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Build UI
run: |
cd ui
bun install --frozen-lockfile 2>/dev/null || bun install
bun run build
test -f dist/index.html
test -d dist/assets || true