Skip to content
Snippets Groups Projects

Build custom ostree images for package-centric testing

Files
3
.image-job-base:
.common-image-job-base:
image: $CI_REGISTRY/infrastructure/${OSNAME}-docker-images/${APERTIS_RELEASE}-image-builder
variables:
TEST_PATH: /tmp/tests
@@ -6,9 +6,10 @@
RECIPES_PATH: /tmp/recipes
RECIPES_REPO_URL: https://gitlab-ci-token:${CI_JOB_TOKEN}@${CI_SERVER_HOST}/infrastructure/${OSNAME}-image-recipes.git
stage: build
timeout: 2h
rules:
- when: on_success
script:
before_script:
- JOB_GENERATOR_BRANCH=${JOB_GENERATOR_BRANCH:-${OSNAME}/${APERTIS_RELEASE}}
- git clone --depth "${GIT_DEPTH:-1}" -b "$JOB_GENERATOR_BRANCH" "${TEST_REPO_URL}" "$TEST_PATH"
- git clone --depth "${GIT_DEPTH:-1}" -b "${OSNAME}/${APERTIS_RELEASE}" "${RECIPES_REPO_URL}" "$RECIPES_PATH"
@@ -29,6 +30,11 @@
- ospack_name="ospack_${RELEASE}-${ARCH}-${TYPE}_${BUILDID}"
- wget --progress=dot:mega ${image_url_prefix_main}/daily/${RELEASE}/${BUILDID}/${ARCH}/${TYPE}/${ospack_name}.tar.gz
- local_repo_path=$PWD/package-repo/$ARCH
.image-job-base:
extends: .common-image-job-base
script:
- echo ${debosarguments}
- debos ${debosarguments}
--show-boot
@@ -42,6 +48,7 @@
-t timestamp:${PIPELINE_VERSION}
-t image:${IMAGE_NAME}
-t local_repo_path:${local_repo_path}
-t extra_packages:"${BIN_PKG_LIST}"
"$RECIPES_PATH/image-${BOARD}.yaml"
- echo "BUILT_IMAGE_URL=${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/jobs/${CI_JOB_ID}/artifacts/${IMAGE_NAME}.img" | tee -a build.env
artifacts:
@@ -50,3 +57,57 @@
paths:
- '*.img.*'
expire_in: 1 day
.ostree-image-job-base:
extends: .common-image-job-base
variables:
branch: ${OSNAME}/${RELEASE}/${ARCH}-${BOARD}/${TYPE}
repo: repo-${ARCH}-${BOARD}-${TYPE}/
IMAGE_NAME: ${OSNAME}_ostree_${RELEASE}-${TYPE}-${ARCH}-${BOARD}_${BUILDID}
script:
- ostree_pull_url=${IMAGE_URL_PREFIX}/${ostree_path}
- ostree init --repo=${repo} --mode archive-z2
- echo ${debosarguments}
- debos ${debosarguments}
--show-boot
-t architecture:${ARCH}
-t osname:${OSNAME}
-t mirror:${mirror}
-t type:${TYPE}
-t sbc:${SBC}
-t board:${BOARD}
-t suite:$RELEASE
-t ospack:${ospack_name}
-t image:${IMAGE_NAME}
-t message:${RELEASE}-${TYPE}-${ARCH}-${BOARD}_${BUILDID}
-t ostree:${repo}
-t branch:${branch}
-t collection_id:${collection_id}
-t local_repo_path:${local_repo_path}
-t extra_packages:"${BIN_PKG_LIST}"
"$RECIPES_PATH/ostree-commit.yaml"
- debos ${debosarguments}
--show-boot
-t architecture:${ARCH}
-t osname:${OSNAME}
-t mirror:${mirror}
-t type:${TYPE}
-t sbc:${SBC}
-t board:$BOARD
-t ospack:${ospack_name}
-t suite:$RELEASE
-t timestamp:${PIPELINE_VERSION}
-t image:${IMAGE_NAME}
-t ostree:${repo}
-t branch:${branch}
-t local_repo_path:${local_repo_path}
-t collection_id:${collection_id}
"$RECIPES_PATH/ostree-image-${BOARD}.yaml"
- echo "BUILT_IMAGE_URL=${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/jobs/${CI_JOB_ID}/artifacts/${IMAGE_NAME}.img" | tee -a build.env
artifacts:
reports:
dotenv: build.env
paths:
- '*.img.*'
- '*.commit.*'
expire_in: 1 day
Loading