image: docker:latest cache: paths: - ccache variables: DOCKER_DRIVER: overlay2 RENDER_DEVICE: /dev/dri/renderD128 stages: - build - test build docker image: stage: build services: - docker:dind before_script: - mkdir -p results script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY - time docker pull $CI_REGISTRY_IMAGE:latest || true - time docker build -t $CI_REGISTRY_IMAGE --cache-from $CI_REGISTRY_IMAGE:latest ci 2>&1 | tee results/docker_build_log.txt - docker history $CI_REGISTRY_IMAGE:latest - time docker push $CI_REGISTRY_IMAGE:latest artifacts: when: always paths: - results/ test: stage: test services: - docker:dind before_script: - mkdir -p ccache - mkdir -p results script: - echo core > /proc/sys/kernel/core_pattern || true - echo 0 > /proc/sys/kernel/core_uses_pid || true - if test -e $RENDER_DEVICE; then RD_CONFIG="--device=$RENDER_DEVICE -e RENDER_DEVICE=$RENDER_DEVICE"; fi - echo RD_CONFIG=$RD_CONFIG - time docker run --ulimit core=99999999999:99999999999 $RD_CONFIG -v $PWD:/virglrenderer $CI_REGISTRY_IMAGE:latest /virglrenderer/ci/run-tests.sh 2>&1 | tee results/docker_test_log.txt artifacts: when: always paths: - results/