diff --git a/ci-automation/README.md b/ci-automation/README.md index 4197d9bd04..f7c61d551e 100644 --- a/ci-automation/README.md +++ b/ci-automation/README.md @@ -23,23 +23,23 @@ The build pipeline can be used to build everything from scratch, including the S The resulting image will come in "amd64", "arm64", and "all" flavours, with support for respective OS target architectures. This step builds the Flatcar SDK container images published at ghcr.io/flatcar-linux. ``` - .---------. .------------. - | scripts | | CI | - | repo | | automation | - `---------´ `------------´ - | | - | "alpha-3449.0.0-dev23" - | | - | _______v_______ - +------- clone -----> ( SDK bootstrap ) - | `-------------´ - |<- tag: sdk-3499.0.0-dev23 -´| - | | - | _______v_______ - +-- clone -> ( SDK container ) - | sdk-3499.0.0-dev23 `-------------´ - | | - v v + .---------. .------------. .--------. + | scripts | | CI | | Build | + | repo | | automation | | cache | + `---------´ `------------´ `--------´ + | | | + | "alpha-3449.0.0-dev23" | + | | | + | _______v_______ | + +------- clone -----> ( SDK bootstrap ) | + | `-------------´ | + |<- tag: sdk-3499.0.0-dev23 -´|`--- sdk tarball --->| + | | | + | _______v_______ | + +-- clone -> ( SDK container ) | + | sdk-3499.0.0-dev23 `-------------´ | + | |`- sdk container --->| + v v image continue to OS image build | @@ -51,27 +51,34 @@ The build pipeline can be used to build everything from scratch, including the S 3. Packages build (`packages.sh`): using the SDK container version recorded in the versionfile, build OS image packages and generate a new container image (containing both SDK and packages). This step updates the versionfile, recording the Flatcar OS image version just built. It will generate and push a new version tag to the scripts repo. -4. Image build (`image.sh`): Using the container from 3., build an OS image and torcx store, and generate a new container image with everything in it. +4. Packages are published and the generic OS image is built. + 1. Binary packages are published (`push_pkgs.sh`) to the build cache, making them available to developers who base their work on the main branch. + 2. Image build (`image.sh`): Using the container from 3., build an OS image and torcx store, and generate a new container image with everything in it. 5. VMs build (`vms.sh`). Using the packages+torcx+image container from 4., build vendor images. Results are vendor-specific OS images. ``` - .---------. .------------. - | scripts | | CI | - | repo | | automation | - `---------´ `------------´ - | | - | "alpha-3449.0.0-dev23" - | | - | ____v_____ - +---------- clone --------> ( packages ) - | `--------´ - |<-- tag: alpha-3499.0.0-dev23 --´| - | | - | ___v___ - +----- clone ---> ( image ) - | alpha-3499.0.0-dev23 `-----´ - | | - | __v__ - +----- clone ---> ( vms ) - alpha-3499.0.0-dev23 `---´ + .---------. .------------. .--------. + | scripts | | CI | | Build | + | repo | | automation | | cache | + `---------´ `------------´ `--------´ + | | | + | "alpha-3449.0.0-dev23" | + | | | + | ____v_____ | + +---------- clone --------> ( packages ) | + | `--------´ | + |<-- tag: alpha-3499.0.0-dev23 --´|`- sdk + OS packages -->| + | | container image | + | ______v_______ | + | ( publish pkgs ) | + | `------------´ | + | |`-- binary packages --->| + | ___v__ | + +----- clone ---> ( image ) | + | alpha-3499.0.0-dev23 `-----´ | + | |`-- sdk + packages + -->| + | __v__ OS image cnt img | + +----- clone ---> ( vms ) | + alpha-3499.0.0-dev23 `---´ | + `- vendor OS images ---->| ```