Skip to content

6.10.2.13 Release

Append-only

Records are added, never deleted.

6.10.2.13.1 Purpose

The decision to distribute a build on a channel, with a rollout percentage, an approval and signed metadata. Releases are only added: a rollback is a new release that points to an older build.

6.10.2.13.2 Questions it answers

  • Which build is being rolled out, and to what share of installations?
  • Who staged the release, and who approved it?
  • When did it become active, and what did it replace?

6.10.2.13.3 Fields

Field Type Cardinality Description
id string (uuid) 1..1 Key.
channel ReleaseChannel 1..1
build ReleaseBuild 1..1 Must belong to the channel's application, with status ready.
rollout_pct integer 1..1 0..100: share of installations that receive it (see ReleaseInstallation, ReleaseInstallation.rollout_bucket).
min_build_number integer 0..1 Installations below it must update.
notes string 0..1 Markdown.
state enum 1..1 Values: staged, active, paused, superseded, rolled_back.
signed_metadata ReleaseSignedMetadata 0..1 Empty while staged: the metadata is signed when the release becomes active.
released_by MoonitoringUser 1..1 Who staged it.
approved_by MoonitoringPerson 0..1 Required to become active when the channel requires approval.
Must differ from released_by and from the build's created_by.
released_at datetime 0..1 When it became active; empty while staged.
created_at datetime 1..1
updated_at datetime 1..1

6.10.2.13.4 Relationships

References

Referenced by

6.10.2.13.5 Rules & constraints

  • The decision to distribute a build on a channel. Only state, approved_by and released_at change after creation.
  • A rollback is a new Release that points to an older build. It needs no approval when that build was already active on the same channel and is not revoked.