From 7471f6581b32375fa57ec8685db15d12c46e1e48 Mon Sep 17 00:00:00 2001 From: Andrew McNamara Date: Wed, 13 Mar 2024 05:45:29 -0700 Subject: [PATCH] Add goal around reproducibility (#173) * Add goal around reproducibility As much as possible, builds should be driven from source control in order to improve the reproducibility, even if just semantic instead of bit-for-bit reproducibility. Signed-off-by: arewm --- architecture/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/architecture/index.md b/architecture/index.md index 9c4e0fc1..4b2401e7 100644 --- a/architecture/index.md +++ b/architecture/index.md @@ -19,6 +19,7 @@ AppStudio is a platform for building integrated software that streamlines, conso - Build artifacts once with enough data to determine suitability for releasing. - Build artifacts once that can be released to multiple locations, multiple use cases. - Specify builds and their dependencies entirely from git and not from transient state of the build system. Employ tools like [renovate](https://docs.renovatebot.com/) to manage dependency updates. +- Build semantic reproducible artifacts. Any configuration which has the potential to affect the semantic functionality of a build should be source controlled and associated with the produced artifact (via the provenance, for example). - Be extensible. Provide opinionated [build pipelines](https://github.com/redhat-appstudio/build-definitions/) and [release pipelines](https://github.com/redhat-appstudio/release-service-catalog), but let users extend those and create their own. - "Shift left" the decisions for releasing into PRs; you should be able to release artifacts from a PR as soon as it is merged. - Just in time scaling: In contrast to “just in case” scaling. The system should be able to scale without capacity reserved ahead of time.