Skip to content

fix: clean storage/tmp on failed release_task + startup sweep #25

fix: clean storage/tmp on failed release_task + startup sweep

fix: clean storage/tmp on failed release_task + startup sweep #25

Workflow file for this run

# 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 }}"