vauxite-build/.gitlab-ci.yml
2024-03-04 17:55:20 -06:00

46 lines
1.4 KiB
YAML

stages:
- compose
- build
compose-job:
stage: compose
tags:
- podman-exec
variables:
RELVER: "39"
SOURCE_URL: "https://pagure.io/workstation-ostree-config"
CACHE_DIR: "/cache"
BUILD_REPO: "/build-repo"
SOURCE_REPO: "/source-repo"
before_script:
- podman login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- mkdir -p "$(pwd)/.tmp"
- |
if [ ! -d "${BUILD_REPO}/objects" ]; then
echo "Previous build repo not found. Initialize new build repo in archive mode."
ostree --repo="${BUILD_REPO}" init --mode=archive
fi
- |
if [ ! -d "${SOURCE_REPO}/.git" ]; then
echo "Source repo not found. Clone from upstream."
git clone -b "f${RELVER}" "${SOURCE_URL}" "${SOURCE_REPO}"
fi
- rsync -aAX "${SOURCE_REPO}"/ "$(pwd)/.tmp"
- rsync -aAX "$(pwd)/src/" "$(pwd)/.tmp"
- rpm-ostree compose image --cachedir "${CACHE_DIR}" --initialize-mode=if-not-exists --format=registry "$(pwd)/.tmp/vauxite.json" "${CI_REGISTRY_IMAGE}/vauxite:${RELVER}"
nonfree-build-job:
stage: build
tags:
- podman-in-podman
variables:
RELVER: "39"
PODMAN_IMAGE_NAME: "${CI_REGISTRY_IMAGE}/vauxite-nonfree:${RELVER}"
before_script:
- podman login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- cd oci/nonfree
- podman build -t "$PODMAN_IMAGE_NAME" .
- podman push "$PODMAN_IMAGE_NAME"