Skip to content

Fix ACEStepPipeline import failure in frozen app bundle#17

Merged
lmangani merged 5 commits intomainfrom
copilot/fix-aces-step-import-issue
Jan 20, 2026
Merged

Fix ACEStepPipeline import failure in frozen app bundle#17
lmangani merged 5 commits intomainfrom
copilot/fix-aces-step-import-issue

Conversation

Copy link
Contributor

Copilot AI commented Jan 20, 2026

Fixing ACEStepPipeline Import Issue in Frozen App ✅

Problem Resolved

  • Fixed: ACEStepPipeline import fails in frozen macOS app bundle
  • Root cause: PyInstaller was not properly detecting and bundling acestep package dependencies
  • Added: CI test to verify Ace-Step works end-to-end and prevent regressions
  • Fixed: CI model verification now checks correct directory structure
  • Improved: CI uses ACE_LOCAL_DIRNAME constant for consistency

Implementation Complete

  • Fix PyInstaller configuration to properly bundle acestep package
    • Added 15+ acestep submodules to hiddenimports in CDMF.spec
    • Includes schedulers, models, audio processing, and all critical dependencies
  • Add CI test workflow to verify Ace-Step generation works
    • Created new workflow: test-ace-generation.yml
    • Downloads ACE-Step models from HuggingFace
    • Runs a minimal 10-second generation test (5 diffusion steps for speed)
    • Verifies output file is created and meets minimum size requirements
    • Fixed verification to check models inside correct HuggingFace directory
    • Uses ACE_LOCAL_DIRNAME constant from ace_model_setup.py for consistency
  • All code review feedback addressed
    • Reduced steps from 20 to 5 for faster CI execution
    • Replaced magic number with MIN_10SEC_AUDIO_SIZE_BYTES constant
    • Fixed model verification path to match HuggingFace directory structure
    • Eliminated hardcoded directory name by importing ACE_LOCAL_DIRNAME
  • Security checks passed (CodeQL found 0 alerts)

Files Changed

  1. CDMF.spec (15 new hiddenimports added):

    • Core: acestep, acestep.schedulers, acestep.models
    • Schedulers: flow_match_euler_discrete, flow_match_heun_discrete, flow_match_pingpong
    • Audio: music_dcae, music_dcae_pipeline
    • Models: ace_step_transformer, lyrics_utils, lyric_tokenizer
    • Features: apg_guidance, cpu_offload, language_segmentation
  2. test-ace-generation.yml (new CI workflow):

    • Sets up Python 3.10 environment
    • Installs all dependencies including ACE-Step
    • Downloads models with caching
    • Verifies models exist using ACE_LOCAL_DIRNAME constant
    • Runs 10-second generation test (5 steps)
    • Validates output file creation and size
    • Uploads test artifacts

Recent Fixes

  • f8a43ef: Fixed CI verification to check inside models--ACE-Step--ACE-Step-v1-3.5B directory
  • Latest: Uses ACE_LOCAL_DIRNAME constant instead of hardcoded directory name

Verification Complete ✅

  • All changes committed and pushed
  • Code review completed with all issues resolved
  • Security scan completed (CodeQL: 0 alerts)
  • CI model verification fixed and improved
  • Ready for CI workflow testing

What This Fixes

The frozen macOS app will now properly bundle all acestep modules, resolving the RuntimeError. The new CI test ensures generation actually works and prevents future regressions.

Original prompt

This section details on the original issue you should resolve

<issue_title>Blocking Issue</issue_title>
<issue_description>When attempting to run our App we always get:

[2026-01-20 18:48:19] INFO: RuntimeError: ACEStepPipeline could not be imported from cdmf_pipeline_ace_step.py.
[2026-01-20 18:48:19] INFO:
[2026-01-20 18:48:19] INFO: This is unexpected in a frozen app bundle - the ace-step package
[2026-01-20 18:48:19] INFO: should have been bundled during the build process.
[2026-01-20 18:48:19] INFO:
[2026-01-20 18:48:19] INFO: Possible causes:
[2026-01-20 18:48:19] INFO: - The app bundle was built without ace-step installed
[2026-01-20 18:48:19] INFO: - A dependency is missing or incompatible
[2026-01-20 18:48:19] INFO:

Our bundled app is failing and this is a blocker.
We must resolve this issue and add a CI test to run Ace-Step, download models and make sure generation actually works once and for all.</issue_description>

Comments on the Issue (you are @copilot in this section)

  • Fixes audiohacking/AceForge#16

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits January 20, 2026 17:53
Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
…min file size

Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix blocking issue with ACEStepPipeline import Fix ACEStepPipeline import failure in frozen app bundle Jan 20, 2026
Copilot AI requested a review from lmangani January 20, 2026 17:59
@lmangani
Copy link
Contributor

The CI Step "Verify Models Download" is failing @copilot

Run ls -la ace_models/checkpoints/ || echo "No checkpoints directory yet"
total 0
drwxr-xr-x   3 runner  staff   96 Jan 20 18:12 .
drwxr-xr-x   6 runner  staff  192 Jan 20 18:12 ..
drwxr-xr-x  10 runner  staff  320 Jan 20 18:13 models--ACE-Step--ACE-Step-v1-3.5B
✗ music_dcae_f8c8 directory missing
✗ music_vocoder directory missing
✗ ace_step_transformer directory missing
✗ umt5-base directory missing
✗ Not all required model directories exist
Error: Process completed with exit code 1.

…cture

Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jan 20, 2026

The CI Step "Verify Models Download" is failing @copilot

...

Fixed in f8a43ef. The verification was checking the wrong directory - HuggingFace's snapshot_download creates a models--ACE-Step--ACE-Step-v1-3.5B directory, and the model subdirectories (music_dcae_f8c8, music_vocoder, etc.) are inside that, not directly in ace_models/checkpoints/. Updated the verification step to check the correct path.

Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
@lmangani lmangani marked this pull request as ready for review January 20, 2026 18:21
@lmangani lmangani merged commit b718eb7 into main Jan 20, 2026
Copilot stopped work on behalf of lmangani due to an error January 20, 2026 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants