Datafi Release Console

Tester guide

The release console lets you assemble a datafi release (one version each of frontend, co and ed), try it on stage, and queue it for production. Nothing here talks to production directly: production changes only happen when an operator runs the promote step at the deploy window.

Environments

NameWhat it isURL
devWhere every new build lands automatically. Component CI bumps it whenever a build finishes.site-dev.datafi.us
stageFor now, the same infrastructure as dev. "Deploy to stage" points dev at your release's versions.same as dev
prodCustomers. Only changed by the promote step.home.datafi.us, releases.datafi.co
Because stage is dev, deploying a release to stage replaces what other developers see on dev until you restore it. Tell the team before you stage, and restore when you are done testing.

Release lifecycle

StatusMeaningAvailable actions
draftBeing assembled or tested.Deploy to stage, Restore previous dev, Mark ready, Abandon, edit notes
readyQueued for the next production promote. Oldest ready release goes first.Deploy to stage, Restore, Unready, Abandon (until promoted)
ready + promotedThe operator has promoted it; production deploys are running or finished. Waiting for the manifest to publish.none (read only)
releasedLive in production and published to releases.datafi.co.none
abandonedDropped. The number cannot be reused.none

1. Create a release

  1. Dashboard, then New release.
  2. Pick a version per component. The list shows recent builds that reached dev; the current dev version is preselected.
  3. The datafi version is suggested for you (next patch, or next minor if a component changed major). You can edit it: it must be plain X.Y.Z, higher than what production has, and not used by another release.
  4. Add notes (what is in it, what to test) and Create.

Creating a release changes nothing on any environment. It only records the set.

2. Deploy to stage and test

  1. Open the release and click Deploy to stage. The dialog lists exactly which components will change and their current dev versions. Components already on stage are skipped.
  2. Confirm. The console commits the change and the dev deploy workflows start. Watch progress under GitHub Actions; a rollout of co or ed takes 5 to 10 minutes.
  3. The component table shows on stage per component once dev matches the release.
  4. Test on dev. Fix builds land on dev automatically through CI and will show as drift (the badge flips back to differs); create a new release if you need the newer build.
The first stage deploy snapshots the dev versions it replaced (the previous dev column). Redeploying does not overwrite that snapshot.

3. Restore previous dev

When you are done testing, click Restore previous dev. It puts dev back to the snapshotted versions and runs the dev deploys again. Only components that are still at your release's version are restored; a component that CI has since moved forward is left alone and listed as skipped, so you never undo someone's newer build.

4. Mark ready

Mark ready queues the release for production. The console checks the version rules first and shows the reasons if the release cannot be marked ready (for example a pre-release component). Several releases can be ready at once; they form a queue, oldest first. Unready takes it back out of the queue until the operator promotes it.

5. What happens at the deploy window

  1. The operator runs prod_promote (GitHub Actions). It takes the oldest ready release, or a specific one if named.
  2. It writes the release's component versions to production and stamps the release as promoted. Production deploys run.
  3. When the deploys succeed, prod_release_publish publishes the release's datafi number to releases.datafi.co and flips the release to released.

If a release's components are all already in production, promoting it only publishes the new datafi number.

Version rules

Reading the dashboard

FAQ and troubleshooting

I get "not in the Release Console Testers group"

Ask an admin to add your datafi.co account to the group, then sign out and back in.

Deploy to stage says done but dev still shows the old version

The deploy workflow is still rolling out. Check GitHub Actions; ECS rollouts take several minutes. If a run failed, post its link in the devops channel.

The suggested datafi number looks wrong

It skips numbers already taken by any release, including abandoned ones. Edit the field if you want a different number that still follows the rules.

Can I stage a release that is already marked ready?

Yes, until it is promoted. After promotion the release is read only.

Something I did should not have happened

Every action is a commit on datafilabs/deploy authored as you; the toast after each action links to it. Post the commit link in the devops channel.