Skip to content

6.10.2.10 ReleaseBuild

6.10.2.10.1 Purpose

A complete version of an application. Its content never changes; only its status can, for example when it is revoked.

6.10.2.10.2 Questions it answers

  • Which builds exist for an application, and in which order?
  • Which commit produced a build, and who uploaded it?
  • Is a build ready, or has it been revoked?

6.10.2.10.3 Fields

Field Type Cardinality Description
id string (uuid) 1..1 Key.
application ReleaseApplication 1..1
build_number integer 1..1 Always increasing; the only key used to order builds.
(application, build_number) is unique.
version_label string 1..1 Semver shown to people; never used for comparisons.
source_ref string 1..1 Commit or CI tag.
status enum 1..1 Values: uploading, validating, ready, revoked.
revoked_reason string 0..1
created_by MoonitoringUser 1..1 Usually the CI, as a MoonitoringServiceAccount.
carried_adapters string 1..* Only for the farm sync client: the source adapters the build carries, declared by CI from the client's built-in catalog, each with its code, adapter_version, the name of the SourceChannel it reads (unique in farm, SourceChannel.name) and its supported_versions. release.activated.v1 carries them, and farm registers each one as a SourceAdapter the first time a release of it becomes active.
created_at datetime 1..1
updated_at datetime 1..1

6.10.2.10.4 Relationships

References

Referenced by

6.10.2.10.5 Rules & constraints

  • A complete version of an application. Its content is immutable: only status and revoked_reason change.
  • To see the content of a build check ReleaseBuildDepot with build = this.id (1..*).