# # !!!WARNING!!! # # This is just a copy of "/.gitlab-ci.yml" to be used until # "CI/CD configuration file" in project CI/CD settings will # be changed from "ci/.gitlab-ci.yml" to ".gitlab-ci.yml". # # Additionally, the "/ci" folder becomes deprecated in favor # of "/.gitlab-ci". This makes Virglrenderer CI setup consistent # with Mesa CI. # 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