Skip to content

CI/CD Pipelines

We use GitHub Actions to automate testing and releasing. Here is how our pipeline strategies work depending on the branch.

Trigger: Opening a PR to main or staging.

Before merging code, we ensure it compiles to prevent breaking the build.

  • App: Runs a debug build on Linux/macOS/Windows/Android (both x86_64, arm) to verify Rust and Svelte compilation.
  • Site: Runs bun run build to ensure the Astro site builds without errors.

Trigger: Pushing to staging.

This is our “Test Flight” zone.

  • App: Builds Debug artifacts (unsigned) for all platforms. These are available in the GitHub Actions “Summary” tab for testers to download and try.
  • Site: Runs bun run build to ensure the Astro site builds without errors (same as PR check).
    • to test site builds
      • go to Action Tab > latest site-build-check run > Summary > download workflow artifact site-build-output
      • then extract the zip, move all content to a new dir called Cherit
      • then in the parent dir, run bunx serve .
      • open http://localhost:3000/Cherit/ in browser to test

Trigger: Pushing to main.

This is the “Live” zone.

  • App Release: Builds optimized Release binaries, signs them (Android/macOS), and creates a Draft Release on GitHub.
  • Site Deploy: Builds the documentation site and deploys it to GitHub Pages.
GoalWorkflow FileTriggers
Test App Logicapp-build-debug.ymlPRs, Staging
Test Site Buildsite-check.ymlPRs, Staging
Release Appapp-build-release.ymlMain
Deploy Sitesite-deploy.ymlMain