Aimee OS/container-images/pipeline/head There was a failure building this commitDetails
The next job in the pipeline is _rust-cross/main_, not
_cross-rust/main_.
Also, we don't need to wait for follow-up jobs. Otherwise, we end up
with the whole pipeline blocking the _base_ job, etc.
Aimee OS/container-images/pipeline/head There was a failure building this commitDetails
Without a specific volume mount, the Buildah working container will be
stored in the Jenkins pod container filesystem. This not only affects
performance, but limits the size of the working container filesystem and
the final image, as the worker nodes do not have very much space for
container filesystems. Thus, we need to mount an ephemeral Longhorn
volume in the job pod to provide more space to Buildah.
Using a read-only root filesystem helps ensure that no temporary data
get written to container storage. This of course breaks the work-around
we had in place for overriding the broken default `storage.conf` in the
_buildah_ image, so we mount a _tmpfs_ filesystem at `/home/build` as a
different work-around.
In order to create multiple Jenkins build pipelines for this repository,
I'm splitting it up with branches. There will be a branch for each
image:
* base/main: The base image
* cross/main: The image with a cross-compiler toolchain
* build/main: The final build image
Note _/main_ in each name. The intent here is to be able to have
different "sub-branches" for each image, so e.g. there might be a
_base/dev_.
In addition to the branches for each image, there will be branches for
the shared library code as well, named like _lib/main_. The image
branches will checkout this branch using `git worktree`.
Several log files in `/var/log` are owned by users other than root.
From outside the user namespace, these files are inaccessible to the
unprivileged user, so we need to change their ownership before we can
archive them.
Aimee OS/container-images/pipeline/head This commit looks goodDetails
The _build/cross-{target}_ image only includes the crossdev toolchain.
What we really need is the _build/build-{target}_ image, which contains
all the tools necessary to build an Aimee OS project.