X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=.gitlab-ci.yml;h=f5a9de33b76ba86001c44f2377e005cc52a703e8;hb=f931099270497d5ede856fe0cbc35b8b878011b0;hp=1ec16c77b01ca153ac1a2365c97df8e83a2636c0;hpb=4be31ebb61574e9e401da478bd1c3280cef644ce;p=mesa.git diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1ec16c77b01..f5a9de33b76 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,9 +9,9 @@ include: - local: '.gitlab-ci/test-source-dep.yml' stages: - - deploy - - container + - container+docs - container-2 + - deploy - meson-x86_64 - scons - meson-misc @@ -24,18 +24,40 @@ stages: - virgl - success -pages: +.docs-base: + extends: .ci-run-policy image: alpine - stage: deploy script: - apk --no-cache add py3-pip - pip3 install sphinx sphinx_rtd_theme - sphinx-build -b html docs public + +pages: + extends: .docs-base + stage: deploy artifacts: paths: - public - only: - - master + rules: + - if: '$CI_PROJECT_NAMESPACE == "mesa" && $CI_COMMIT_REF_NAME == "master"' + changes: &docs-or-ci + - docs/**/* + - .gitlab-ci.yml + when: always + # Other cases default to never + +test-docs: + extends: .docs-base + stage: container+docs + rules: + - if: '$CI_PROJECT_NAMESPACE == "mesa"' + when: never + - if: '$GITLAB_USER_LOGIN == "marge-bot"' + changes: *docs-or-ci + when: on_success + - changes: *docs-or-ci + when: manual + # Other cases default to never # When to automatically run the CI .ci-run-policy: @@ -75,11 +97,15 @@ pages: success: stage: success image: debian:stable-slim - only: - - merge_requests - except: - changes: - *all_paths + rules: + - if: '$CI_PROJECT_NAMESPACE == "mesa"' + when: never + - if: '$GITLAB_USER_LOGIN == "marge-bot"' + changes: *docs-or-ci + when: never + - changes: *all_paths + when: never + - when: on_success variables: GIT_STRATEGY: none script: @@ -114,24 +140,31 @@ success: # repository's registry will be used there as well. .container: - stage: container + stage: container+docs extends: - .ci-run-policy rules: + # Run pipeline by default in the main project if any CI pipeline + # configuration files were changed, to ensure docker images are up to date + - if: '$CI_PROJECT_PATH == "mesa/mesa"' + changes: + - .gitlab-ci.yml + - .gitlab-ci/**/* + when: on_success # Run pipeline by default if it was triggered by Marge Bot, is for a - # merge request, and any files affecting it were changed - - if: '$GITLAB_USER_LOGIN == "marge-bot" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME' + # merge request, and any files affecting the pipeline were changed + - if: '$GITLAB_USER_LOGIN == "marge-bot" && $CI_PROJECT_PATH != "mesa/mesa"' changes: *all_paths when: on_success - # Run pipeline by default in the main project if any files affecting it were - # changed - - if: '$CI_PROJECT_PATH == "mesa/mesa"' + # Run pipeline by default in the main project if it was not triggered by + # Marge Bot, and any files affecting the pipeline were changed + - if: '$GITLAB_USER_LOGIN != "marge-bot" && $CI_PROJECT_PATH == "mesa/mesa"' changes: *all_paths when: on_success - # Allow triggering jobs manually for MRs or branches of forked projects if - # any files affecting the pipeline were changed + # Allow triggering jobs manually in other cases if any files affecting the + # pipeline were changed - changes: *all_paths when: manual @@ -244,7 +277,7 @@ x86_test-base: x86_test-gl: extends: .use-x86_test-base variables: - FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-06-04" + FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-06-23-virgl" # Debian 10 based x86 test image for VK x86_test-vk: @@ -272,7 +305,7 @@ arm_build: - .fdo.container-build@debian@arm64v8 - .container variables: - FDO_DISTRIBUTION_TAG: &arm_build "2020-06-12" + FDO_DISTRIBUTION_TAG: &arm_build "2020-06-22-tracie" .use-arm_build: variables: @@ -287,7 +320,7 @@ arm_test-base: - .fdo.container-build@debian - .container variables: - FDO_DISTRIBUTION_TAG: &arm_test-base "2020-06-09-rsync" + FDO_DISTRIBUTION_TAG: &arm_test-base "2020-06-22-tracie" .use-arm_test-base: extends: @@ -305,7 +338,7 @@ arm64_test: extends: - .use-arm_test-base variables: - FDO_DISTRIBUTION_TAG: &arm64_test "2020-06-18-vkcts" + FDO_DISTRIBUTION_TAG: &arm64_test "2020-06-25-kernelfix" .use-arm64_test: variables: @@ -333,11 +366,11 @@ arm64_test: WINDOWS_IMAGE: "$CI_REGISTRY_IMAGE/windows/x64_build:$WINDOWS_TAG" WINDOWS_UPSTREAM_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/windows/x64_build:$WINDOWS_TAG" -windows_build_vs2019: +.windows_build_vs2019: extends: - .container - .windows-docker-vs2019 - stage: container + stage: container+docs variables: GIT_STRATEGY: fetch # we do actually need the full repository though timeout: 4h # LLVM takes ages @@ -802,6 +835,11 @@ piglit-quick_shader: extends: .test-vk script: - ./install/fossilize-runner.sh + artifacts: + when: on_failure + name: "mesa_${CI_JOB_NAME}" + paths: + - results/ llvmpipe-gles2: variables: @@ -840,7 +878,7 @@ softpipe-gles31: DEQP_VER: gles31 extends: softpipe-gles2 -virgl-gles2: +virgl-gles2-on-gl: variables: DEQP_VER: gles2 DEQP_PARALLEL: 4 @@ -849,7 +887,8 @@ virgl-gles2: # Don't use threads inside llvmpipe, we've already got all 4 cores # busy with DEQP_PARALLEL. LP_NUM_THREADS: 0 - DEQP_EXPECTED_FAILS: deqp-virgl-fails.txt + DEQP_EXPECTED_FAILS: deqp-virgl-gl-fails.txt + DEQP_OPTIONS: "--deqp-log-images=disable" LIBGL_ALWAYS_SOFTWARE: "true" GALLIUM_DRIVER: "virpipe" DEQP_EXPECTED_RENDERER: virgl @@ -857,25 +896,36 @@ virgl-gles2: - .deqp-test-gl - .virgl-rules -virgl-gles3: +virgl-gles3-on-gl: + parallel: 2 variables: DEQP_VER: gles3 - CI_NODE_INDEX: 1 - CI_NODE_TOTAL: 3 - DEQP_RUNNER_OPTIONS: "--timeout 120" - extends: virgl-gles2 + DEQP_RUNNER_OPTIONS: "--timeout 180" + extends: virgl-gles2-on-gl -virgl-gles31: +virgl-gles31-on-gl: + parallel: 4 variables: DEQP_VER: gles31 - CI_NODE_INDEX: 1 - CI_NODE_TOTAL: 10 - DEQP_OPTIONS: "--deqp-log-images=disable" - DEQP_RUNNER_OPTIONS: "--timeout 120" MESA_GLES_VERSION_OVERRIDE: "3.1" MESA_GLSL_VERSION_OVERRIDE: "310" MESA_EXTENSION_OVERRIDE: "-GL_OES_tessellation_shader" - extends: virgl-gles2 + extends: virgl-gles3-on-gl + +virgl-gl30-on-gl: + variables: + DEQP_VER: gl30 + extends: virgl-gles2-on-gl + +virgl-gl31-on-gl: + variables: + DEQP_VER: gl31 + extends: virgl-gles2-on-gl + +virgl-gl32-on-gl: + variables: + DEQP_VER: gl32 + extends: virgl-gles2-on-gl # Rules for tests that should not be present in MRs or the main # project's pipeline (don't block marge or report red on @@ -890,6 +940,30 @@ virgl-gles31: when: manual - when: never +virgl-gles2-on-gles: + variables: + VIRGL_HOST_API: GLES + DEQP_EXPECTED_FAILS: deqp-virgl-gles-fails.txt + extends: + - virgl-gles2-on-gl + - .test-manual + +virgl-gles3-on-gles: + variables: + VIRGL_HOST_API: GLES + DEQP_EXPECTED_FAILS: deqp-virgl-gles-fails.txt + extends: + - virgl-gles3-on-gl + - .test-manual + +virgl-gles31-on-gles: + variables: + VIRGL_HOST_API: GLES + DEQP_EXPECTED_FAILS: deqp-virgl-gles-fails.txt + extends: + - virgl-gles31-on-gl + - .test-manual + arm64_a630_gles2: extends: - arm64_a306_gles2 @@ -940,6 +1014,18 @@ arm64_a630_bypass: FD_MESA_DEBUG: nogmem DEQP_EXPECTED_FAILS: deqp-freedreno-a630-bypass-fails.txt +arm64_a630_traces: + extends: + - arm64_a630_gles2 + variables: + BARE_METAL_TEST_SCRIPT: "/install/tracie-runner-gl.sh" + DEVICE_NAME: "freedreno-a630" + TRACIE_NO_UNIT_TESTS: 1 + # This lets us run several more traces which don't use any features we're + # missing. + MESA_GLSL_VERSION_OVERRIDE: "460" + MESA_GL_VERSION_OVERRIDE: "4.6" + # Along with checking gmem path, check that we don't get obvious nir # validation failures (though it's too expensive to have it on for the # full CTS) @@ -1079,7 +1165,6 @@ arm64_a530_gles31: stage: radv variables: VK_DRIVER: radeon - RADV_DEBUG: checkir ACO_DEBUG: validateir,validatera # Can only be triggered manually on personal branches because RADV is the only @@ -1102,23 +1187,18 @@ radv-fossils: # Pitcairn (GFX6) - export RADV_FORCE_FAMILY="pitcairn" - ./install/fossilize-runner.sh - - RADV_PERFTEST=aco ./install/fossilize-runner.sh # Bonaire (GFX7) - export RADV_FORCE_FAMILY="bonaire" - ./install/fossilize-runner.sh - - RADV_PERFTEST=aco ./install/fossilize-runner.sh # Polaris10 (GFX8) - export RADV_FORCE_FAMILY="polaris10" - ./install/fossilize-runner.sh - - RADV_PERFTEST=aco ./install/fossilize-runner.sh # Vega10 (GFX9) - export RADV_FORCE_FAMILY="gfx900" - ./install/fossilize-runner.sh - - RADV_PERFTEST=aco ./install/fossilize-runner.sh # Navi10 (GFX10) - export RADV_FORCE_FAMILY="gfx1010" - ./install/fossilize-runner.sh - - RADV_PERFTEST=aco ./install/fossilize-runner.sh # Traces CI .traces-test: