| variables: |
| FDO_UPSTREAM_REPO: "virgl/virglrenderer" |
| MESA_TEMPLATES_COMMIT: &ci-templates-commit 290b79e0e78eab67a83766f4e9691be554fc4afd |
| MESA_BASE_TAG: ${DEBIAN_BASE_TAG} |
| # |
| # IMPORTANT! |
| # |
| # Use the Pipeline ID corresponding to the Mesa Git rev provided below. |
| # If multiple pipeline runs are available, please choose the one having |
| # at least the 'debian-testing' job in 'Build-x86_64' stage completed. |
| # |
| MESA_PIPELINE_ID: 487328 |
| MESA_PROJECT_PATH: mesa/mesa |
| MINIO_HOST: minio-packet.freedesktop.org |
| # Per-pipeline artifact storage on MinIO |
| PIPELINE_ARTIFACTS_BASE: ${MINIO_HOST}/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID} |
| CI_REGISTRY_IMAGE: "registry.freedesktop.org/${MESA_PROJECT_PATH}" |
| |
| include: |
| - project: 'freedesktop/ci-templates' |
| ref: 79c325922670137e8f0a4dc5f6f097e0eb57c1af |
| file: |
| - '/templates/ci-fairy.yml' |
| - project: 'freedesktop/ci-templates' |
| ref: *ci-templates-commit |
| file: |
| - '/templates/debian.yml' |
| - '/templates/fedora.yml' |
| - project: 'mesa/mesa' |
| # IMPORTANT: Use a recent Mesa Git revision |
| ref: 51f6288a2d2fa78e723b99a90133f5ebd782bc4a |
| file: |
| - '/.gitlab-ci/image-tags.yml' |
| |
| stages: |
| - build |
| - sanity test |
| - test |
| |
| .set-image: |
| variables: |
| MESA_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}--${MESA_TEMPLATES_COMMIT}" |
| image: "$MESA_IMAGE" |
| |
| .set-image-base-tag: |
| extends: |
| - .set-image |
| variables: |
| MESA_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}--${MESA_BASE_TAG}--${MESA_TEMPLATES_COMMIT}" |
| |
| debian/x86_build: |
| stage: build |
| extends: |
| - .set-image-base-tag |
| variables: |
| MESA_IMAGE_PATH: ${DEBIAN_X86_BUILD_IMAGE_PATH} |
| MESA_IMAGE_TAG: ${DEBIAN_BUILD_TAG} |
| MINIO_ARTIFACT_NAME: virgl-amd64 |
| script: |
| - .gitlab-ci/meson/build.sh |
| artifacts: |
| name: "virgl_${CI_JOB_NAME}" |
| when: always |
| paths: |
| - install/ |
| - results/ |
| only: |
| - branches |
| - tags |
| - merge_requests |
| - schedules |
| |
| # |
| # Sanity test jobs |
| # |
| |
| .make_check_base: |
| stage: sanity test |
| extends: debian/x86_build |
| artifacts: |
| when: always |
| paths: |
| - results/ |
| |
| mesa check meson: |
| extends: .make_check_base |
| variables: |
| TEST_SUITE: make-check-meson |
| |
| make check clang-fuzzer: |
| extends: .make_check_base |
| variables: |
| TEST_SUITE: make-check-clang-fuzzer |
| CC: clang |
| EXTRA_OPTION: "-D fuzzer=true" |
| |
| make check trace-stderr: |
| extends: .make_check_base |
| variables: |
| TEST_SUITE: make-check-trace-stderr |
| EXTRA_OPTION: "-D tracing=stderr" |
| |
| make check venus: |
| extends: .make_check_base |
| variables: |
| TEST_SUITE: make-check-venus |
| EXTRA_OPTION: "-D venus-experimental=true" |
| |
| # |
| # Piglit & dEQP test jobs |
| # |
| |
| .use-gl-test-image: |
| stage: test |
| extends: |
| - .set-image-base-tag |
| variables: |
| MESA_IMAGE_PATH: ${DEBIAN_X86_TEST_IMAGE_PATH} |
| MESA_IMAGE_TAG: ${DEBIAN_X86_TEST_GL_TAG} |
| script: |
| - .gitlab-ci/container/debian/x86_test.sh |
| artifacts: |
| name: "virgl_${CI_JOB_NAME}" |
| when: always |
| paths: |
| - results/ |
| reports: |
| junit: results/junit.xml |
| needs: |
| - debian/x86_build |
| only: |
| - branches |
| - tags |
| - merge_requests |
| - schedules |
| |
| .gl-host-test: |
| extends: |
| - .use-gl-test-image |
| variables: |
| GALLIUM_DRIVER: virpipe |
| GALLIVM_PERF: nopt |
| |
| .gl-virt-test: |
| extends: |
| - .use-gl-test-image |
| variables: |
| GALLIUM_DRIVER: virgl |
| CROSVM_GALLIUM_DRIVER: llvmpipe |
| GALLIVM_PERF: nopt |
| |
| .deqp-host: |
| extends: |
| - .gl-host-test |
| parallel: 3 |
| |
| .piglit-host: |
| extends: |
| - .gl-host-test |
| variables: &piglit-host-variables |
| PIGLIT_PLATFORM: surfaceless_egl |
| PIGLIT_NO_WINDOW: 1 |
| PIGLIT_PROFILES: gpu |
| parallel: 2 |
| |
| .deqp-virt: |
| extends: |
| - .gl-virt-test |
| variables: |
| TEST_SCRIPT: "install/deqp-runner.sh" |
| parallel: 3 |
| |
| .piglit-virt: |
| extends: |
| - .deqp-virt |
| variables: |
| <<: *piglit-host-variables |
| TEST_SCRIPT: "install/piglit/piglit-runner.sh" |
| parallel: 2 |
| |
| # Host runners (virpipe/vtest) |
| |
| debian/x86_test/deqp-gl-host: |
| extends: |
| - .deqp-host |
| variables: |
| DEQP_SUITE: virgl-gl |
| GPU_VERSION: virgl-gl |
| |
| debian/x86_test/deqp-gles-host: |
| extends: |
| - .deqp-host |
| variables: |
| VIRGL_HOST_API: GLES |
| DEQP_SUITE: virgl-gles |
| GPU_VERSION: virgl-gles |
| |
| debian/x86_test/piglit-gl-host: |
| extends: |
| - .piglit-host |
| variables: |
| GPU_VERSION: virgl-gl |
| |
| debian/x86_test/piglit-gles-host: |
| extends: |
| - .piglit-host |
| variables: |
| VIRGL_HOST_API: GLES |
| GPU_VERSION: virgl-gles |
| |
| # Virt runners (virgl/crosvm) |
| |
| # |
| # FIXME: Although functional, all jobs below are currently disabled (hidden) |
| # since they require some updates on the expectation files and probably some |
| # performance optimizations. |
| # |
| |
| .debian/x86_test/deqp-gl-virt: |
| extends: |
| - .deqp-virt |
| variables: |
| DEQP_SUITE: virgl-gl |
| GPU_VERSION: virgl-gl |
| CROSVM_GPU_ARGS: &deqp-gl-crosvm-gpu-args "gles=false,backend=virglrenderer,egl=true,surfaceless=true,width=1024,height=768" |
| |
| .debian/x86_test/deqp-gles-virt: |
| extends: |
| - .deqp-virt |
| variables: |
| VIRGL_HOST_API: GLES |
| DEQP_SUITE: virgl-gles |
| GPU_VERSION: virgl-gles |
| CROSVM_GPU_ARGS: &deqp-gles-crosvm-gpu-args "gles=true,backend=virglrenderer,egl=true,surfaceless=true,width=1024,height=768" |
| |
| .debian/x86_test/piglit-gl-virt: |
| extends: |
| - .piglit-virt |
| variables: |
| GPU_VERSION: virgl-gl |
| CROSVM_GPU_ARGS: *deqp-gl-crosvm-gpu-args |
| |
| # FIXME: This is quite unstable because (new) flaky tests continue to show up |
| .debian/x86_test/piglit-gles-virt: |
| extends: |
| - .piglit-virt |
| variables: |
| VIRGL_HOST_API: GLES |
| GPU_VERSION: virgl-gles |
| CROSVM_GPU_ARGS: *deqp-gles-crosvm-gpu-args |