Submit a single Verilog file, then poll status until the run completes or fails.
export CMULATION_API="https://cmulation.com/api"
export CMULATION_TOKEN="cmuat_xxxxxxxx_your_secret"
# Submit
curl -sS -X POST "$CMULATION_API/simulations/verilog" \
-H "Authorization: Bearer $CMULATION_TOKEN" \
-F "file=@design.v;type=text/plain" \
-F "name=ci-smoke"
# Poll (replace SIM_ID from response)
curl -sS "$CMULATION_API/simulations/SIM_ID/status" \
-H "Authorization: Bearer $CMULATION_TOKEN"
cd packages/cli && npm ci && npm run build
export CMULATION_API_TOKEN="cmuat_xxxxxxxx_your_secret"
export CMULATION_API_URL="https://cmulation.com/api"
# Submit + wait until completed (exit 0) or failed (exit 1)
node dist/index.js run verilog --file design.v --name ci-smoke
# ZIP bundle
node dist/index.js run verilog --archive rtl.zip --top-module tb_top
# Or submit / wait separately
node dist/index.js submit verilog --file design.v
node dist/index.js wait SIM_ID
- uses: ./.github/actions/cmulation-sim
with:
token: ${{ secrets.CMULATION_API_TOKEN }}
engine: verilog
file: rtl/tb_top.v
# archive: rtl/project.zip
# top-module: tb_top
timeout-seconds: '900'