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
ReleaseBuild.application→ ReleaseApplication (1..1)ReleaseBuild.created_by→ MoonitoringUser (1..1)
Referenced by
ReleaseBuildDepot.build(1..1)Release.build(1..1)ReleaseInstallation.current_build(1..1)ReleaseUpdateEvent.from_build(0..1)ReleaseUpdateEvent.to_build(1..1)ReleaseInstallerArtifact.build(1..1)
6.10.2.10.5 Rules & constraints¶
- A complete version of an application. Its content is immutable: only status and
revoked_reasonchange. - To see the content of a build check ReleaseBuildDepot with build =
this.id(1..*).