variables: GIT_SUBMODULE_STRATEGY: recursive build: stage: build image: quay.io/buildah/stable rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" when: never # tagged releases do not use cache but can generate it - if: '"$CI_COMMIT_TAG" != ""' variables: CACHE_POLICY: push - if: '"$CI_COMMIT_TAG" == ""' variables: CACHE_POLICY: pull-push cache: - key: cache-$CI_COMMIT_REF_SLUG fallback_keys: - cache-$CI_DEFAULT_BRANCH - cache-default paths: - .cache/ policy: $CACHE_POLICY before_script: - buildah login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY script: - mkdir -p .cache/build - buildah build -t "${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}" -v "$(pwd)/.cache/build":/app/build:z . - buildah push "${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}" - buildah push "${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}" "${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}"