X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=.gitlab-ci.yml;h=3339cea12f81c8bc7dd70783322360f91d27363b;hb=98d07bd5a0ad384c33eb781dec891326db207660;hp=a2343ed6e38ec1be8ba9f020f92cd9c94c41071c;hpb=262e3885a288d93f618cf6552d0193a036273e64;p=mesa.git diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a2343ed6e38..3339cea12f8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -131,30 +131,94 @@ success: # no need to pull the whole repo to build the container image GIT_STRATEGY: none -# Debian 10 based x86 build image -x86_build: +# Debian 10 based x86 build image base +x86_build-base: extends: - .fdo.container-build@debian - .container variables: - FDO_DISTRIBUTION_TAG: &x86_build "2020-05-29" + FDO_DISTRIBUTION_TAG: &x86_build-base "2020-06-02" + +.use-x86_build-base: + extends: + - x86_build-base + - .ci-run-policy + stage: container-2 + variables: + BASE_TAG: *x86_build-base + FDO_BASE_IMAGE: "$CI_REGISTRY_IMAGE/debian/x86_build-base:$BASE_TAG" + needs: + - x86_build-base + +# Debian 10 based x86 main build image +x86_build: + extends: + - .use-x86_build-base + variables: + FDO_DISTRIBUTION_TAG: &x86_build "2020-06-02" .use-x86_build: variables: TAG: *x86_build image: "$CI_REGISTRY_IMAGE/debian/x86_build:$TAG" needs: + - x86_build-base - x86_build +# Debian 10 based i386 cross-build image +i386_build: + extends: + - .use-x86_build-base + variables: + FDO_DISTRIBUTION_TAG: &i386_build "2020-06-02" + +.use-i386_build: + variables: + TAG: *i386_build + image: "$CI_REGISTRY_IMAGE/debian/i386_build:$TAG" + needs: + - x86_build-base + - i386_build + +# Debian 10 based ppc64el cross-build image +ppc64el_build: + extends: + - .use-x86_build-base + variables: + FDO_DISTRIBUTION_TAG: &ppc64el_build "2020-06-02" + +.use-ppc64el_build: + variables: + TAG: *ppc64el_build + image: "$CI_REGISTRY_IMAGE/debian/ppc64el_build:$TAG" + needs: + - x86_build-base + - ppc64el_build + +# Debian 10 based s390x cross-build image +s390x_build: + extends: + - .use-x86_build-base + variables: + FDO_DISTRIBUTION_TAG: &s390x_build "2020-06-02" + +.use-s390x_build: + variables: + TAG: *s390x_build + image: "$CI_REGISTRY_IMAGE/debian/s390x_build:$TAG" + needs: + - x86_build-base + - s390x_build + # Debian 10 based x86 test image base x86_test-base: - extends: x86_build + extends: x86_build-base variables: - FDO_DISTRIBUTION_TAG: &x86_test-base "2020-06-01" + FDO_DISTRIBUTION_TAG: &x86_test-base "2020-06-02" .use-x86_test-base: extends: - - x86_build + - x86_build-base - .ci-run-policy stage: container-2 variables: @@ -167,17 +231,17 @@ x86_test-base: x86_test-gl: extends: .use-x86_test-base variables: - FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-06-01" + FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-06-04" # Debian 10 based x86 test image for VK x86_test-vk: extends: .use-x86_test-base variables: - FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-06-01" + FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-06-02-gles" # Debian 9 based x86 build image (old LLVM) x86_build_old: - extends: x86_build + extends: x86_build-base variables: FDO_DISTRIBUTION_TAG: &x86_build_old "2020-06-02" FDO_DISTRIBUTION_VERSION: stretch-slim @@ -204,18 +268,38 @@ arm_build: needs: - arm_build -# x86 image with ARM rootfses for baremetal testing. -arm_test: - extends: x86_build +# Debian 10 based x86 baremetal image base +arm_test-base: + extends: + - .fdo.container-build@debian + - .container variables: - FDO_DISTRIBUTION_TAG: &arm_test "2020-06-01" + FDO_DISTRIBUTION_TAG: &arm_test-base "2020-06-09-rsync" -.use-arm_test: +.use-arm_test-base: + extends: + - arm_test-base + - .ci-run-policy + stage: container-2 variables: - TAG: *arm_test - image: "$CI_REGISTRY_IMAGE/debian/arm_test:$TAG" + BASE_TAG: *arm_test-base + FDO_BASE_IMAGE: "$CI_REGISTRY_IMAGE/debian/arm_test-base:$BASE_TAG" needs: - - arm_test + - arm_test-base + +# x86 image with ARM64 rootfs for baremetal testing. +arm64_test: + extends: + - .use-arm_test-base + variables: + FDO_DISTRIBUTION_TAG: &arm64_test "2020-06-09-rsync" + +.use-arm64_test: + variables: + TAG: *arm64_test + image: "$CI_REGISTRY_IMAGE/debian/arm64_test:$TAG" + needs: + - arm64_test # Native Windows docker builds # @@ -545,7 +629,9 @@ meson-vulkan: -D werror=true meson-i386: - extends: .meson-cross + extends: + - .meson-cross + - .use-i386_build variables: CROSS: i386 VULKAN_DRIVERS: intel,amd @@ -553,13 +639,11 @@ meson-i386: EXTRA_OPTION: > -D vulkan-overlay-layer=true -D werror=true - script: - - dpkg -i /var/cache/apt/archives/$CROSS/*.deb - - .gitlab-ci/meson-build.sh meson-s390x: extends: - .meson-cross + - .use-s390x_build tags: - kvm variables: @@ -567,17 +651,11 @@ meson-s390x: EXTRA_OPTION: > -D werror=true GALLIUM_DRIVERS: "swrast" - script: - # For unknown reasons "too many" installed i386 libraries cause qemu to - # crash while executing llvm-config for s390x. - - apt-get purge -y wine32 - - apt-get autoremove -y --purge - - dpkg -i /var/cache/apt/archives/$CROSS/*.deb - - .gitlab-ci/meson-build.sh meson-ppc64el: extends: - meson-s390x + - .use-ppc64el_build variables: CROSS: ppc64el EXTRA_OPTION: "" @@ -621,6 +699,7 @@ meson-mingw32-x86_64: TAG: *x86_test-gl image: "$CI_REGISTRY_IMAGE/debian/x86_test-gl:$TAG" needs: + - x86_build-base - x86_build - meson-testing - x86_test-base @@ -633,6 +712,7 @@ meson-mingw32-x86_64: TAG: *x86_test-vk image: "$CI_REGISTRY_IMAGE/debian/x86_test-vk:$TAG" needs: + - x86_build-base - x86_build - meson-testing - x86_test-base @@ -778,6 +858,7 @@ virgl-gles31: 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 # Rules for tests that should not be present in MRs or the main @@ -827,7 +908,6 @@ arm64_a630_noubo: DEQP_VER: gles31 IR3_SHADER_DEBUG: nouboopt DEQP_CASELIST_FILTER: "functional.*ubo" - DEQP_EXPECTED_FAILS: deqp-freedreno-a630-noubo-fails.txt # The driver does some guessing as to whether to render using gmem # or bypass, and some GLES3.1 features interact with either one. @@ -851,6 +931,32 @@ arm64_a630_gmem: FD_MESA_DEBUG: nobypass NIR_VALIDATE: 1 +arm64_a630_vk: + extends: arm64_a630_gles2 + variables: + DEQP_VER: vk + CI_NODE_INDEX: 1 + CI_NODE_TOTAL: 50 + VK_DRIVER: freedreno + # Force binning in the main run, which makes sure we render at + # least 2 bins. This is the path that impacts the most different + # features. However, we end up with flaky results in + # dEQP-VK.binding_model.*.geometry and dEQP-VK.glsl.*_vertex. + TU_DEBUG: forcebin + +# Do a separate sysmem pass over the testcases that really affect sysmem +# rendering. This is currently very flaky, leave it as an option for devs +# to click play on in their branches. +arm64_a630_vk_sysmem: + extends: + - arm64_a630_vk + variables: + CI_NODE_INDEX: 1 + CI_NODE_TOTAL: 10 + DEQP_CASELIST_FILTER: "dEQP-VK.renderpass.*" + DEQP_EXPECTED_FAILS: deqp-freedreno-a630-bypass-fails.txt + TU_DEBUG: sysmem + .baremetal-test: extends: - .ci-run-policy @@ -865,7 +971,7 @@ arm64_a630_gmem: arm64_a306_gles2: extends: - .baremetal-test - - .use-arm_test + - .use-arm64_test - .freedreno-rules variables: BM_KERNEL: /lava-files/Image.gz @@ -884,7 +990,7 @@ arm64_a306_gles2: script: - .gitlab-ci/bare-metal/fastboot.sh needs: - - arm_test + - arm64_test - arm_build - meson-arm64 tags: