mirror of
https://codeberg.org/hyperreal/vauxite-build
synced 2024-11-25 12:23:42 +01:00
First attempt at pipeline
This commit is contained in:
parent
2bb58a71ad
commit
ee6ab088bb
53
.gitlab-ci.yml
Normal file
53
.gitlab-ci.yml
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
stages:
|
||||||
|
- compose
|
||||||
|
- build
|
||||||
|
|
||||||
|
vauxite-compose-job:
|
||||||
|
image: registry.fedoraproject.org/fedora:latest
|
||||||
|
stage: compose
|
||||||
|
tags:
|
||||||
|
- podman-exec
|
||||||
|
variables:
|
||||||
|
CLEAN_BUILD: false
|
||||||
|
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
|
Loading…
Reference in New Issue
Block a user