14 - dnf install -y python3-pytest python3-pytest-cov python3-requests
16 - pytest-3 --junitxml=junit.xml --cov=build_manifest gitlab/build_manifest.py
17 coverage: '/TOTAL.*\s+(\d+%)$/'
24 - 'gitlab/build_manifest.py'
27 image: "docker:stable"
31 # When using dind, it's wise to use the overlayfs driver for
32 # improved performance.
33 DOCKER_DRIVER: "overlay2"
36 - export IMAGE="${CI_REGISTRY_IMAGE}/${ARCH}/${TAG}"
37 - export REF="${IMAGE}:${CI_COMMIT_SHA}"
38 - export LATEST="${IMAGE}:latest"
40 - docker build --pull -f ${DOCKERFILE} -t ${REF} ${CONTEXT_DIR}
41 - docker image tag ${REF} ${LATEST}
43 # If we are in a fork, push the image to the reigstry regardless the branch
45 if [ "$CI_PROJECT_NAMESPACE" != "gstreamer" ]; then
46 docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
51 # Push the images to the upstream registry
53 if [ "$CI_COMMIT_REF_NAME" = "master" -a "$CI_PROJECT_NAMESPACE" = "gstreamer" ]; then
54 docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
59 alpine amd64 manifest builder docker:
60 stage: "build runtime"
63 TAG: "alpine-manifest-build"
64 CONTEXT_DIR: "docker/runtime-images/"
65 DOCKERFILE: "docker/runtime-images/Dockerfile-manifest-builder"
69 - 'docker/runtime-images/Dockerfile-manifest-builder'
70 - 'gitlab/build_manifest.py'
72 fedora amd64 run docker:
73 stage: "build runtime"
77 CONTEXT_DIR: "docker/runtime-images/"
78 DOCKERFILE: "docker/runtime-images/Dockerfile-fedora"
82 - 'docker/runtime-images/Dockerfile-fedora'
84 fedora amd64 build docker:
89 CONTEXT_DIR: "docker/build-base-images/"
90 DOCKERFILE: "docker/build-base-images/Dockerfile-fedora"
94 - 'docker/build-base-images/Dockerfile-fedora'
96 ubuntu amd64 run docker:
97 stage: "build runtime"
100 TAG: "ubuntu-runtime"
101 CONTEXT_DIR: "docker/runtime-images/"
102 DOCKERFILE: "docker/runtime-images/Dockerfile-ubuntu"
106 - 'docker/runtime-images/Dockerfile-ubuntu'
108 ubuntu amd64 build docker:
113 CONTEXT_DIR: "docker/build-base-images/"
114 DOCKERFILE: "docker/build-base-images/Dockerfile-ubuntu"
118 - 'docker/build-base-images/Dockerfile-ubuntu'
120 include: "gitlab/ci_template.yml"
122 # Test the build job against the latest build image tag and the local manifest
123 build fedora x86_64 local:
125 image: "${CI_REGISTRY_IMAGE}/amd64/fedora-build:latest"
127 build ubuntu x86_64 local:
130 MESON_ARGS: "${DEFAULT_MESON_ARGS} -Dlibav=disabled"
131 image: "${CI_REGISTRY_IMAGE}/amd64/ubuntu-build:latest"