fix: DAW→acestep.cpp mapping (lego diffusion, caption, repaint) #26
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Tests and compile smoke check on every PR and push to main. | |
| name: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main, master] | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test-and-build: | |
| name: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| outfile: dist/acestep-api | |
| binary: dist/acestep-api | |
| - os: macos-latest | |
| outfile: dist/acestep-api | |
| binary: dist/acestep-api | |
| - os: windows-latest | |
| outfile: dist/acestep-api.exe | |
| binary: dist/acestep-api.exe | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| # Do NOT use actions/checkout submodules: true|recursive — it always passes | |
| # --recursive and breaks on ACE-Step-DAW's optional nested paths (no url in .gitmodules). | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: false | |
| - name: Submodule ACE-Step-DAW only (non-recursive) | |
| shell: bash | |
| run: | | |
| git submodule sync -- ACE-Step-DAW | |
| git submodule update --init --depth 1 -- ACE-Step-DAW | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Unit tests | |
| # Only ./test — do not run ACE-Step-DAW's Vitest suite (submodule). | |
| run: bun run test | |
| - name: Bundle acestep.cpp runtime (v0.0.3) | |
| run: bun run bundle:acestep | |
| - name: Create dist directory | |
| shell: bash | |
| run: mkdir -p dist | |
| - name: Compile standalone binary | |
| run: bun build ./src/index.ts --compile --minify --sourcemap=external --outfile ${{ matrix.outfile }} | |
| - name: Sync acestep-runtime next to binary | |
| run: bun run sync:runtime | |
| - name: Verify binary exists | |
| shell: bash | |
| run: test -f "${{ matrix.binary }}" |