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
16 image: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/test-manifest:fb91ee18309ab981289aa818ab2a7824ef0567a1'
19 - pytest-3 --junitxml=junit.xml --cov=build_manifest gitlab/build_manifest.py
20 coverage: '/TOTAL.*\s+(\d+%)$/'
27 image: "docker:stable"
32 # When using dind, it's wise to use the overlayfs driver for
33 # improved performance.
34 DOCKER_DRIVER: "overlay2"
37 - export DATE=$(date +"%Y-%m-%d")
38 - export IMAGE="${CI_REGISTRY_IMAGE}/${ARCH}/${TAG}"
39 - export UID="${IMAGE}:${DATE}-${CI_JOB_ID}"
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} ${UID}
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"
71 test manifest amd64 docker:
76 CONTEXT_DIR: "docker/test_manifest/"
77 DOCKERFILE: "docker/test_manifest/Dockerfile"
80 gst-indent amd64 docker:
85 CONTEXT_DIR: "docker/indent/"
86 DOCKERFILE: "docker/indent/Dockerfile"
94 CONTEXT_DIR: "docker/fedora/"
95 DOCKERFILE: "docker/fedora/Dockerfile"
98 cerbero fedora amd64 docker:
102 TAG: "cerbero-fedora"
103 CONTEXT_DIR: "docker/cerbero/"
104 DOCKERFILE: "docker/cerbero/Dockerfile-fedora"
108 stage: "build docker"
112 CONTEXT_DIR: "docker/android/"
113 DOCKERFILE: "docker/android/Dockerfile"
116 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:
124 extends: '.build local'
126 image: "${CI_REGISTRY_IMAGE}/amd64/fedora:latest"
129 - "master@gstreamer/gst-ci"
131 build cerbero fedora x86_64 local:
132 extends: '.cerbero fedora x86_64'
133 image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
137 - "master@gstreamer/gst-ci"
139 build cerbero android universal local:
140 extends: '.cerbero android universal'
141 image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
145 - "master@gstreamer/gst-ci"
147 build cerbero cross win32 local:
148 extends: '.cerbero cross win32'
149 image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
153 - "master@gstreamer/gst-ci"
155 build cerbero cross win64 local:
156 extends: '.cerbero cross win64'
157 image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
161 - "master@gstreamer/gst-ci"
163 .test fedora x86_64 local:
164 image: '${CI_REGISTRY_IMAGE}/amd64/fedora:latest'
167 - build fedora x86_64 local
171 - "master@gstreamer/gst-ci"
174 extends: '.test fedora x86_64 local'
176 TEST_SUITE: 'check.gst*'
178 android universal examples local:
179 extends: '.android universal examples'
180 image: "${CI_REGISTRY_IMAGE}/amd64/android:latest"
182 - "build cerbero android universal local"
186 - "master@gstreamer/gst-ci"
188 integration testsuites fedora local:
189 extends: '.test fedora x86_64 local'
191 - rm -f gst-build/build/subprojects/gstreamer-vaapi/gst/vaapi/libgstvaapi.so
193 EXTRA_VALIDATE_ARGS: "--timeout-factor=2 --retry-on-failures"
194 TEST_SUITE: "validate ges"