mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-31 19:42:26 +00:00
2ec33592e9
345afee677
broke the bash
extreppsion that evaluates the strings, causing images to
never be pushed.
90 lines
No EOL
2.3 KiB
YAML
90 lines
No EOL
2.3 KiB
YAML
stages:
|
|
- "test"
|
|
- "build runtime"
|
|
- "build base"
|
|
- "manifest"
|
|
- "build"
|
|
|
|
test manifest:
|
|
variables:
|
|
GIT_STRATEGY: fetch
|
|
image: "fedora"
|
|
stage: "test"
|
|
before_script:
|
|
- dnf install -y python3-pytest python3-pytest-cov python3-requests
|
|
script:
|
|
- pytest-3 --junitxml=junit.xml --cov=build_manifest gitlab/build_manifest.py
|
|
only:
|
|
changes:
|
|
- "gitlab/build_manifest.py"
|
|
coverage: '/TOTAL.*\s+(\d+%)$/'
|
|
artifacts:
|
|
reports:
|
|
junit:
|
|
- "junit.xml"
|
|
|
|
.base:
|
|
image: "docker:stable"
|
|
services:
|
|
- docker:dind
|
|
variables:
|
|
# When using dind, it's wise to use the overlayfs driver for
|
|
# improved performance.
|
|
DOCKER_DRIVER: "overlay2"
|
|
GIT_STRATEGY: fetch
|
|
script:
|
|
- export IMAGE="${CI_REGISTRY_IMAGE}/${ARCH}/${TAG}"
|
|
- export REF="${IMAGE}:${CI_COMMIT_SHA}"
|
|
- export LATEST="${IMAGE}:latest"
|
|
|
|
- docker build --pull -f ${DOCKERFILE} -t ${REF} ${CONTEXT_DIR}
|
|
- docker image tag ${REF} ${LATEST}
|
|
|
|
# If we are in a fork, push the image to the reigstry regardless the branch
|
|
- |
|
|
if [ "$CI_PROJECT_NAMESPACE" != "gstreamer" ]; then
|
|
docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
docker push ${REF}
|
|
docker push ${LATEST}
|
|
fi
|
|
|
|
# Push the images to the upstream registry
|
|
- |
|
|
if [ "$CI_COMMIT_REF_NAME" = "master" -a "$CI_PROJECT_NAMESPACE" = "gstreamer" ]; then
|
|
docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
docker push ${REF}
|
|
docker push ${LATEST}
|
|
fi
|
|
only:
|
|
changes:
|
|
- ".gitlab-ci.yml"
|
|
- "docker/**"
|
|
- "docker/*/**"
|
|
|
|
|
|
fedora amd64 run docker:
|
|
stage: "build runtime"
|
|
variables:
|
|
ARCH: "amd64"
|
|
TAG: "fedora-runtime"
|
|
CONTEXT_DIR: "docker/runtime-images/"
|
|
DOCKERFILE: "docker/runtime-images/Dockerfile-fedora"
|
|
extends: .base
|
|
|
|
fedora amd64 build docker:
|
|
stage: "build base"
|
|
variables:
|
|
ARCH: "amd64"
|
|
TAG: "fedora-build"
|
|
CONTEXT_DIR: "docker/build-base-images/"
|
|
DOCKERFILE: "docker/build-base-images/Dockerfile-fedora"
|
|
extends: .base
|
|
|
|
include: "gitlab/ci_template.yml"
|
|
|
|
# Overwrite the job with the same name that comes from the include template,
|
|
# in order to use the `:latest` tag of the image built
|
|
build fedora x86_64:
|
|
# This comes from the `include:` above
|
|
extends: .build
|
|
image: "${CI_REGISTRY_IMAGE}/amd64/fedora-build:latest" |