--- default: image: quay.io/buildah/stable:v1.28.0 tags: - docker - linux envars: stage: test script: | echo "Select CI env. vars.:"; printenv | egrep '^CI_' | sort commit_check: stage: test variables: BADRX: '^(squash!)|(fixup!)' script: | dnf install -y git shortlogtmp=$(mktemp -p '' commit_check_tmp_XXXX) git log --oneline --no-show-signature "${CI_MERGE_REQUEST_DIFF_BASE_SHA}..HEAD" > "$shortlogtmp" if egrep -q "$BADRX" "$shortlogtmp"; then egrep "$BADRX" "$shortlogtmp" die "Found the above commits matching '$BADRX'" fi build: stage: deploy variables: BUILDAH_FORMAT: docker BUILDAH_ISOLATION: chroot STORAGE_DRIVER: vfs before_script: - echo "$CI_REGISTRY_PASSWORD" | buildah login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY script: # N/B: There could be more than one merge-request open with this branch's HEAD - | IMAGE_TAG="${CI_COMMIT_BRANCH}"; if [[ -n "$CI_COMMIT_TAG" ]]; then IMAGE_TAG="${CI_COMMIT_TAG}"; elif [[ -n "$CI_OPEN_MERGE_REQUESTS" ]]; then IMAGE_TAG=mr$(echo "${CI_OPEN_MERGE_REQUESTS}" | cut -d, -f -1 | cut -d\! -f 2); elif [[ "$CI_COMMIT_BRANCH" == "main" ]]; then IMAGE_TAG="latest"; fi echo "Building/Pushing to: ${CI_REGISTRY_IMAGE}:${IMAGE_TAG}"; - >- buildah build \ --label "org.opencontainers.image.source=${CI_PROJECT_URL}" \ --label "org.opencontainers.image.revision=$CI_COMMIT_SHA" \ --label "org.opencontainers.image.created=$CI_JOB_STARTED_AT" \ --label "org.opencontainers.image.version=${IMAGE_TAG}" \ -t "${CI_REGISTRY_IMAGE}:${IMAGE_TAG}" "$CI_PROJECT_DIR" - buildah images - buildah push "${CI_REGISTRY_IMAGE}:${IMAGE_TAG}"