stages: - compose - build vauxite-compose-job: image: registry.fedoraproject.org/fedora:latest 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: - printf "fastestmirror=True\ndeltarpm=True\n" | tee -a /etc/dnf/dnf.conf - dnf update -y - dnf install -y ostree podman rpm-ostree rsync - 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}:${RELVER}" vauxite-nonfree-job: stage: build tags: - shell-exec variables: PODMAN_IMAGE_NAME: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG before_script: - podman login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - cd oci/nonfree - podman build --pull -t "$PODMAN_IMAGE_NAME" . - podman push "$PODMAN_IMAGE_NAME" - | if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then podman tag "$PODMAN_IMAGE_NAME" "$CI_REGISTRY_IMAGE:latest" podman push "$CI_REGISTRY_IMAGE:latest" fi