Skip to content

Deployments

The Deployments screen shows the workflow runs for the active branch and gives you controls for triggering, cancelling, and re-running them. Open it from the rocket icon in the Studio nav rail.

The list is scoped to the active branch. To see deployments for a different branch, switch branches using the branch selector in the top bar.

A workflow run is created when:

  • A commit lands on a branch that is wired up for deployment — for example, after Studio commits a content change or after a pull request is merged.
  • You click Deploy in the toolbar to dispatch a workflow run manually for the active branch.
  • You click Re-run on an existing run.
Control Description
Deploy branch Triggers a workflow run for the active branch.
Refresh Reloads the deployment list.
Live indicator Appears (pulsing) while any run in the list is in a queued or in_progress state. While shown, the list auto-polls every 5 seconds.

The Deploy button is hidden when Quant Builder is enabled — see Browser build and publish below.

Each row shows:

Field Description
Status icon Success, failed, in-progress, queued, cancelled, or skipped.
Title The workflow run’s display title (typically the commit message).
Commit SHA The short SHA of the commit being deployed.
Branch The branch the run is deploying.
Time A relative timestamp (e.g. “2 minutes ago”).
Duration How long the run took (completed runs only).

If the list is empty for a branch, the screen prompts you to push a commit or click Deploy to trigger a build.

Click a row to expand its details. The expanded view shows:

  • Cancel for in-progress and queued runs, or Re-run for runs that have completed.
  • A list of jobs, each with their own status icon and duration.
  • For each job, a list of steps (the individual stages from the workflow file).
  • A log viewer that opens when you click a job header. The log is fetched live and stripped of ANSI escape codes.

Click the same row again to collapse it.

When Quant Builder is enabled in Settings, the toolbar replaces the Deploy button with Build & Publish and adds a Force checkbox.

Clicking Build & Publish runs the Astro build in your browser and publishes the resulting pages directly to the Quant CDN, in parallel with syncing media files from your repository. A live progress card shows two bars while the run is in flight:

  • Building / Publishing — page render and upload.
  • Syncing media files — binary assets.

When the run finishes, the card shows a summary of pages published, unchanged, skipped, and failed, plus media-sync totals. Tick Force before clicking Build & Publish to clear the revision log first and republish every page, even unchanged ones.

The browser build follows the Astro conventions the project already uses, so the output matches a local astro build for the routes that matter at go-live:

  • redirects in astro.config.* — each entry becomes a meta-refresh page with a canonical link and noindex, as Astro’s static output does. Both the '/from': '/to' and { status, destination } forms are honoured, including maps built from an imported module (for example a legacy-redirects.ts file spread into the config). A real page at the same path wins, and redirect pages are kept out of the sitemap.
  • Endpoint routes (src/pages/**/*.ts)GET handlers run with an Astro-shaped context, and getStaticPaths() expands dynamic endpoints, so an rss.xml.ts feed or a data.json.ts route is published. Each route has a 20-second budget covering bundling and execution; a route that exceeds it, or needs a native dependency the browser cannot run (OG-image generators built on satori/resvg are the usual case), is skipped with a warning in the run detail rather than failing the build. Those assets are produced by the CI pipeline.
  • Removed routes are unpublished. After a clean, complete Build & Publish, any route a previous browser publish put on the CDN that this build no longer produces is unpublished and dropped from the revision log and search index. Only routes published from Studio are in scope; a build that produced no output, or a publish with failures, never triggers this.