You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
virglrenderer/ci/.gitlab-ci.yml

167 lines
4.5 KiB

image: docker:latest
cache:
paths:
- ccache
variables:
DOCKER_DRIVER: overlay2
# When running CI jobs, don't allow
# HW backed renderes, due to the
# variability it introduces.
# RENDER_DEVICE: /dev/dri/renderD128
stages:
- build
- sanity test
- 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/
make check:
stage: sanity 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 [[ -n "$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
bash -c "/virglrenderer/ci/run-tests.sh --make-check"
2>&1 | tee results/docker_test_log.txt
artifacts:
when: always
paths:
- results/
piglit:
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 [[ -n "$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
bash -c "/virglrenderer/ci/run-tests.sh --piglit-gl --piglit-gles"
2>&1 | tee results/docker_test_log.txt
artifacts:
when: always
paths:
- results/
cts - gl host:
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 [[ -n "$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
bash -c "/virglrenderer/ci/run-tests.sh --deqp-gl"
2>&1 | tee results/docker_test_log.txt
artifacts:
when: always
paths:
- results/
cts - gles host:
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 [[ -n "$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
bash -c "/virglrenderer/ci/run-tests.sh --deqp-gles"
2>&1 | tee results/docker_test_log.txt
artifacts:
when: always
paths:
- results/
unreliable tests:
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 [[ -n "$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
bash -c "/virglrenderer/ci/run-tests.sh --deqp-gl-unreliable --deqp-gles-unreliable --piglit-gl-unreliable --piglit-gles-unreliable || true"
2>&1 | tee results/docker_test_log.txt
artifacts:
when: always
paths:
- results/