4 # Test just one basic build, if succeds procced to test the rest
7 # Run multiple builds and tests, multi-distro, multi-arch
14 image: "registry.freedesktop.org/gstreamer/gst-ci/amd64/test-manifest:6f7e01e1e30a73efa880acdc8e911f1f20c58dbb"
17 - pytest-3 --junitxml=junit.xml --cov=build_manifest gitlab/build_manifest.py
18 coverage: '/TOTAL.*\s+(\d+%)$/'
25 - 'gitlab/build_manifest.py'
26 - 'docker/test_manifest/*'
29 image: "docker:stable"
33 # When using dind, it's wise to use the overlayfs driver for
34 # improved performance.
35 DOCKER_DRIVER: "overlay2"
38 - export IMAGE="${CI_REGISTRY_IMAGE}/${ARCH}/${TAG}"
39 - export REF="${IMAGE}:${CI_COMMIT_SHA}"
40 - export LATEST="${IMAGE}:latest"
42 - docker build --pull -f ${DOCKERFILE} -t ${LATEST} ${CONTEXT_DIR}
44 # If we are in a fork, push the image to the reigstry regardless the branch
46 if [ "$CI_PROJECT_NAMESPACE" != "gstreamer" ]; then
47 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 # Tag the image with the git ref
55 docker image tag ${LATEST} ${REF}
57 docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
62 alpine amd64 manifest builder docker:
67 CONTEXT_DIR: "docker/build_manifest/"
68 DOCKERFILE: "docker/build_manifest/Dockerfile"
72 - 'docker/build_manifest/*'
73 - 'gitlab/build_manifest.py'
75 test manifest amd64 docker:
80 CONTEXT_DIR: "docker/test_manifest/"
81 DOCKERFILE: "docker/test_manifest/Dockerfile"
85 - 'docker/test_manifest/*'
87 gst-indent amd64 docker:
92 CONTEXT_DIR: "docker/indent/"
93 DOCKERFILE: "docker/indent/Dockerfile"
100 stage: "build docker"
104 CONTEXT_DIR: "docker/fedora/"
105 DOCKERFILE: "docker/fedora/Dockerfile"
111 # Cross compile image
112 android 28 amd64 docker:
113 stage: "build docker"
117 CONTEXT_DIR: "docker/android/"
118 DOCKERFILE: "docker/android/Dockerfile"
124 include: "gitlab/ci_template.yml"
126 # Test the build job against the latest build image tag and the local manifest
127 build fedora x86_64 local:
130 image: "${CI_REGISTRY_IMAGE}/amd64/fedora:latest"
132 build android 28 local:
137 -Dbad:androidmedia=enabled
138 --cross-file /android_arm64_28.txt
139 image: "${CI_REGISTRY_IMAGE}/amd64/android_28:latest"