OCI Build Example

CI powered by ci-multiplatform

In the directory examples/oci you can find a basic setup for using only the oci stage without any build system flow templates (sources on GitLab.com and FDO).

This example assumes you are using GitLab.com native runners for a subset of supported architectures.

Pipeline Structure

The CI stages are organized into separate files in the .gitlab-ci.d directory. This design improves maintainability and compartmentalizes stages, making it easier to customize workflows using job inputs.

OCI Image Stage

The OCI image build process is specified in .gitlab-ci.d/oci/oci.yml. It creates an OCI image based on the pre-built debian image, adding any additional dependencies required for the project. Both the template and Containerfile are organized in a dedicated directory (.gitlab-ci.d/oci), streamlining the use of workflow.rules for detecting file changes in merge requests and minimizing variability in the OCI context.

Test Stage

The test stage showcases how the OCI images can be used in your custom CI flow. Its configuration resides in .gitlab-ci.d/test.yml and is included in .gitlab-ci.yml.