CI for real hardware — build AND boot your firmware across every chip you ship to, in parallel, owning zero hardware.
Regular CI tells you your code compiled. cilicon tells you it runs on the chip — it cross-builds each target and boots it in an emulator (or on a real GPU), in parallel on Modal, and reports one PR check. It's a step you add to your existing CI, not a new CI.
# .github/workflows/cilicon.yml
- uses: RyanRana/cilicon@v1
env:
MODAL_TOKEN_ID: ${{ secrets.MODAL_TOKEN_ID }}
MODAL_TOKEN_SECRET: ${{ secrets.MODAL_TOKEN_SECRET }}Add a cilicon.yml, add the two Modal secrets (modal token new), done. Full
setup → docs/github-actions.md.
pip install cilicon # the cilicon CLI
modal token new # once
cilicon run # build + boot the whole matrix in parallel- Getting started — install, auth, first run
- GitHub Actions — wire it into CI, gate PRs
- Configuration — the
cilicon.ymlreference - Tiers — the validation tiers (QEMU, Renode, GPU, …)
MIT © Ryan Rana