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:fb91ee18309ab981289aa818ab2a7824ef0567a1'
17 - pytest-3 --junitxml=junit.xml --cov=build_manifest gitlab/build_manifest.py
18 coverage: '/TOTAL.*\s+(\d+%)$/'
25 image: "docker:stable"
30 # When using dind, it's wise to use the overlayfs driver for
31 # improved performance.
32 DOCKER_DRIVER: "overlay2"
35 - export DATE=$(date +"%Y-%m-%d")
36 - export IMAGE="${CI_REGISTRY_IMAGE}/${ARCH}/${TAG}"
37 - export UID="${IMAGE}:${DATE}-${CI_JOB_ID}"
38 - export LATEST="${IMAGE}:latest"
40 - docker build --pull -f ${DOCKERFILE} -t ${LATEST} ${CONTEXT_DIR}
42 # If we are in a fork, push the image to the reigstry regardless the branch
44 if [ "$CI_PROJECT_NAMESPACE" != "gstreamer" ]; then
45 docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
49 # Push the images to the upstream registry
51 if [ "$CI_COMMIT_REF_NAME" = "master" -a "$CI_PROJECT_NAMESPACE" = "gstreamer" ]; then
52 # Tag the image with the git ref
53 docker image tag ${LATEST} ${UID}
55 docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
60 alpine amd64 manifest builder docker:
65 CONTEXT_DIR: "docker/build_manifest/"
66 DOCKERFILE: "docker/build_manifest/Dockerfile"
69 test manifest amd64 docker:
74 CONTEXT_DIR: "docker/test_manifest/"
75 DOCKERFILE: "docker/test_manifest/Dockerfile"
78 gst-indent amd64 docker:
83 CONTEXT_DIR: "docker/indent/"
84 DOCKERFILE: "docker/indent/Dockerfile"
92 CONTEXT_DIR: "docker/fedora/"
93 DOCKERFILE: "docker/fedora/Dockerfile"
96 cerbero fedora amd64 docker:
100 TAG: "cerbero-fedora"
101 CONTEXT_DIR: "docker/cerbero/"
102 DOCKERFILE: "docker/cerbero/Dockerfile-fedora"
106 stage: "build docker"
110 CONTEXT_DIR: "docker/android/"
111 DOCKERFILE: "docker/android/Dockerfile"
114 include: "gitlab/ci_template.yml"
120 # Test the build job against the latest build image tag and the local manifest
121 build fedora x86_64 local:
122 extends: '.build local'
124 image: "${CI_REGISTRY_IMAGE}/amd64/fedora:latest"
127 - "master@gstreamer/gst-ci"
129 build cerbero fedora x86_64 local:
130 extends: '.cerbero fedora x86_64'
131 image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
135 - "master@gstreamer/gst-ci"
137 build cerbero android universal local:
138 extends: '.cerbero android universal'
139 image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
143 - "master@gstreamer/gst-ci"
145 build cerbero cross win32 local:
146 extends: '.cerbero cross win32'
147 image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
151 - "master@gstreamer/gst-ci"
153 build cerbero cross win64 local:
154 extends: '.cerbero cross win64'
155 image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
159 - "master@gstreamer/gst-ci"
161 .test fedora x86_64 local:
162 image: '${CI_REGISTRY_IMAGE}/amd64/fedora:latest'
165 - build fedora x86_64 local
169 - "master@gstreamer/gst-ci"
172 extends: '.test fedora x86_64 local'
174 TEST_SUITE: 'check.gst*'