4 # Test just one basic build, if succeds procced to test the rest
7 # Run multiple builds and tests, multi-distro, multi-arch
10 # build some apps to check that cross-platform binaries are usable
12 # Deploy the documentation
18 image: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/test-manifest:fb91ee18309ab981289aa818ab2a7824ef0567a1'
21 - pytest-3 --junitxml=junit.xml --cov=build_manifest gitlab/build_manifest.py
22 coverage: '/TOTAL.*\s+(\d+%)$/'
29 image: "docker:stable"
34 # When using dind, it's wise to use the overlayfs driver for
35 # improved performance.
36 DOCKER_DRIVER: "overlay2"
39 - export DATE=$(date +"%Y-%m-%d")
40 - export IMAGE="${CI_REGISTRY_IMAGE}/${ARCH}/${TAG}"
41 - export UID="${IMAGE}:${DATE}-${CI_JOB_ID}"
42 - export LATEST="${IMAGE}:latest"
44 - docker build --pull -f ${DOCKERFILE} -t ${LATEST} ${CONTEXT_DIR}
46 # If we are in a fork, push the image to the reigstry regardless the branch
48 if [ "$CI_PROJECT_NAMESPACE" != "gstreamer" ]; then
49 docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
53 # Push the images to the upstream registry
55 if [ "$CI_COMMIT_REF_NAME" = "master" -a "$CI_PROJECT_NAMESPACE" = "gstreamer" ]; then
56 # Tag the image with the git ref
57 docker image tag ${LATEST} ${UID}
59 docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
64 alpine amd64 manifest builder docker:
69 CONTEXT_DIR: "docker/build_manifest/"
70 DOCKERFILE: "docker/build_manifest/Dockerfile"
73 test manifest amd64 docker:
78 CONTEXT_DIR: "docker/test_manifest/"
79 DOCKERFILE: "docker/test_manifest/Dockerfile"
82 gst-indent amd64 docker:
87 CONTEXT_DIR: "docker/indent/"
88 DOCKERFILE: "docker/indent/Dockerfile"
96 CONTEXT_DIR: "docker/fedora/"
97 DOCKERFILE: "docker/fedora/Dockerfile"
100 cerbero fedora amd64 docker:
101 stage: "build docker"
104 TAG: "cerbero-fedora"
105 CONTEXT_DIR: "docker/cerbero/"
106 DOCKERFILE: "docker/cerbero/Dockerfile-fedora"
110 stage: "build docker"
114 CONTEXT_DIR: "docker/android/"
115 DOCKERFILE: "docker/android/Dockerfile"
118 include: "gitlab/ci_template.yml"
124 # Test the build job against the latest build image tag and the local manifest
125 build fedora x86_64 local:
126 extends: '.build local'
128 image: "${CI_REGISTRY_IMAGE}/amd64/fedora:latest"
131 - "master@gstreamer/gst-ci"
133 build cerbero fedora x86_64 local:
134 extends: '.cerbero fedora x86_64'
135 image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
139 - "master@gstreamer/gst-ci"
141 build cerbero android universal local:
142 extends: '.cerbero android universal'
143 image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
147 - "master@gstreamer/gst-ci"
149 build cerbero cross win32 local:
150 extends: '.cerbero cross win32'
151 image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
155 - "master@gstreamer/gst-ci"
157 build cerbero cross win64 local:
158 extends: '.cerbero cross win64'
159 image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
163 - "master@gstreamer/gst-ci"
165 .test fedora x86_64 local:
166 image: '${CI_REGISTRY_IMAGE}/amd64/fedora:latest'
169 - build fedora x86_64 local
173 - "master@gstreamer/gst-ci"
176 extends: '.test fedora x86_64 local'
178 TEST_SUITE: 'check.gst*'
180 android universal examples local:
181 extends: '.android universal examples'
182 image: "${CI_REGISTRY_IMAGE}/amd64/android:latest"
184 - "build cerbero android universal local"
188 - "master@gstreamer/gst-ci"
190 integration testsuites fedora local:
191 extends: '.test fedora x86_64 local'
193 - rm -f gst-build/build/subprojects/gstreamer-vaapi/gst/vaapi/libgstvaapi.so
195 EXTRA_VALIDATE_ARGS: "--timeout-factor=2 --retry-on-failures"
196 TEST_SUITE: "validate ges"