Skip to content

Multi-provider & GUI Setup Flow #290

Multi-provider & GUI Setup Flow

Multi-provider & GUI Setup Flow #290

Workflow file for this run

name: Integration Tests
on:
pull_request:
branches: [ main ]
push:
branches: [ main ]
jobs:
integration-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y ffmpeg
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install -r test/requirements.txt
- name: Download models
run: |
dclap_url="https://github.com/NeptuneHub/AudioMuse-AI-DCLAP/releases/download/v1"
base_url="https://github.com/NeptuneHub/AudioMuse-AI/releases/download/v4.0.0-model"
mkdir -p test/models
echo "Downloading DCLAP audio model..."
curl -L "${dclap_url}/model_epoch_36.onnx" -o "test/models/model_epoch_36.onnx"
echo "Downloading DCLAP audio model data..."
curl -L "${dclap_url}/model_epoch_36.onnx.data" -o "test/models/model_epoch_36.onnx.data"
echo "Downloading CLAP text model..."
curl -L "${base_url}/clap_text_model.onnx" -o "test/models/clap_text_model.onnx"
echo "Downloading MusiCNN embedding model..."
curl -L "${base_url}/musicnn_embedding.onnx" -o "test/models/musicnn_embedding.onnx"
echo "Downloading MusiCNN prediction model..."
curl -L "${base_url}/musicnn_prediction.onnx" -o "test/models/musicnn_prediction.onnx"
echo "Models downloaded successfully"
ls -lh test/models/
- name: Verify test files exist
run: |
echo "Checking for config.py..."
ls -la config.py
echo ""
echo "Checking for ONNX models in test/models/..."
ls -la test/models/
echo ""
echo "Checking for audio files in test/songs/..."
ls -la test/songs/
- name: Run integration tests
run: |
# Run the MusiCNN integration test
pytest test/test_analysis_integration.py -s -v --tb=short
# Run the CLAP integration test
pytest test/test_clap_analysis_integration.py -s -v --tb=short
- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: integration-test-results
path: |
test/*.log
test/temp/
retention-days: 7