gitlab-ci: Use quote for "test" stage
[platform/upstream/gstreamer.git] / .gitlab-ci.yml
1 stages:
2   - "test"
3   - "build runtime"
4   - "build base"
5   - "manifest"
6   - "build"
7
8 test manifest:
9   variables:
10     GIT_STRATEGY: fetch
11   image: "fedora"
12   stage: "test"
13   before_script:
14     - dnf install -y python3-pytest python3-pytest-cov python3-requests
15   script:
16     - pytest-3 --junitxml=junit.xml --cov=build_manifest gitlab/build_manifest.py
17   coverage: '/TOTAL.*\s+(\d+%)$/'
18   artifacts:
19     reports:
20       junit:
21         - "junit.xml"
22
23 .base:
24   image: "docker:stable"
25   services:
26     - docker:dind
27   variables:
28     # When using dind, it's wise to use the overlayfs driver for
29     # improved performance.
30     DOCKER_DRIVER: "overlay2"
31     GIT_STRATEGY: fetch
32   script:
33     - export IMAGE="${CI_REGISTRY_IMAGE}/${ARCH}/${TAG}"
34     - export REF="${IMAGE}:${CI_COMMIT_SHA}"
35     - export LATEST="${IMAGE}:latest"
36
37     - docker build --pull -f ${DOCKERFILE} -t ${REF} ${CONTEXT_DIR}
38     - docker image tag ${REF} ${LATEST}
39
40     # Push the images
41     - |
42       if [ "$CI_COMMIT_REF_NAME" = "master" ]; then
43         docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
44         docker push ${REF}
45         docker push ${LATEST}
46       fi
47   only:
48     changes:
49       - ".gitlab-ci.yml"
50       - "docker/**"
51       - "docker/*/**"
52
53
54 fedora amd64 run docker:
55   stage: "build runtime"
56   variables:
57     ARCH: "amd64"
58     TAG: "fedora-runtime"
59     CONTEXT_DIR: "docker/runtime-images/"
60     DOCKERFILE: "docker/runtime-images/Dockerfile-fedora"
61   extends: .base
62
63 fedora amd64 build docker:
64   stage: "build base"
65   variables:
66     ARCH: "amd64"
67     TAG: "fedora-build"
68     CONTEXT_DIR: "docker/build-base-images/"
69     DOCKERFILE: "docker/build-base-images/Dockerfile-fedora"
70   extends: .base
71
72 include: "gitlab/ci_template.yml"