Skip to content

Promote & rollback

YoFix treats promotion and rollback as two distinct operations:

  • Promote is a rebuild of the same commit with production environment variables.
  • Rollback is an instant edge swap within the same environment.

This split is deliberate. Promote needs to apply prod secrets and prod config, so it has to rebuild. Rollback needs to be instant and risk-free, so it just swaps the manifest pointer.

Promote

When you click Promote on a verified preview:

  1. The platform enqueues a new build job pinned to the same commit, but scoped to the production environment.
  2. Production environment variables are injected at build time.
  3. The resulting artifact is uploaded with a production channel tag.
  4. Once the build is healthy, the production manifest pointer is atomically swapped to the new artifact prefix.
  5. Cache is invalidated at the edge.

The previous production artifact is retained for fast rollback.

Auto-promote

By default, merging a PR to the default branch auto-promotes the just- merged commit. You can disable auto-promote per project to require a manual approval in the dashboard.

Rollback

Rollback is an atomic edge swap, not a rebuild. From the dashboard:

  1. Choose the production version to roll back to (any version retained in the rollback window, default 30 days).
  2. Confirm.
  3. The manifest pointer swaps. Edge cache invalidates. New requests serve the previous artifact within seconds.

There is no build. There is no migration. There is no environment- variable resolution. It is the previous bytes, served from the same infrastructure.

SLO

We target rollback to complete in under 10 seconds end-to-end from the click to the first request hitting the rolled-back artifact. The median in practice is around 3 seconds.

What rollback does not do

Rollback only swaps the served artifact. It does not:

  • Roll back database migrations (we don’t run them).
  • Roll back environment variables (those are environment-scoped, not build-scoped).
  • Roll back code in your Git repository.

If you need to back out a code change permanently, use Git as usual. Rollback is for getting production back to safe immediately, not for managing your source history.

Next