v3d: Primitive Counts Feedback needs an extra 32-bit padding.
[mesa.git] / .gitlab-ci.yml
index c9c4f8f941c966144603ff28e9338c203e030bcd..9834541afac9c482737b37b903c0f014768e8c41 100644 (file)
@@ -25,9 +25,9 @@ stages:
 # When to automatically run the CI
 .ci-run-policy:
   rules:
-    # Run pipeline by default for merge requests changing files affecting it
-    - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
-      changes: &paths
+    # If any files affecting the pipeline are changed, build/test jobs run
+    # automatically once all dependency jobs have passed
+    - changes: &all_paths
       - VERSION
       - bin/**/*
       # GitLab CI
@@ -45,16 +45,7 @@ stages:
       - include/**/*
       - src/**/*
       when: on_success
-    # Run pipeline by default in the main project if files affecting it were
-    # changed
-    - if: '$CI_PROJECT_PATH == "mesa/mesa"'
-      changes:
-        *paths
-      when: on_success
-    # Allow triggering jobs manually on branches of forked projects
-    - if: '$CI_PROJECT_PATH != "mesa/mesa" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME != $CI_COMMIT_REF_NAME'
-      when: manual
-    # Otherwise, most jobs won't run
+    # Otherwise, build/test jobs won't run
     - when: never
   retry:
     max: 2
@@ -70,7 +61,7 @@ success:
     - merge_requests
   except:
     changes:
-      *paths
+      *all_paths
   variables:
     GIT_STRATEGY: none
   script:
@@ -108,6 +99,26 @@ success:
   stage: container
   extends:
     - .ci-run-policy
+  rules:
+    # 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'
+      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"'
+      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
+    - changes:
+        *all_paths
+      when: manual
+    # Otherwise, container jobs won't run
+    - when: never
   variables:
     FDO_DISTRIBUTION_VERSION: buster-slim
     FDO_REPO_SUFFIX: "debian/$CI_JOB_NAME"
@@ -121,7 +132,7 @@ x86_build:
     - .fdo.container-build@debian
     - .container
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_build "2020-03-13"
+    FDO_DISTRIBUTION_TAG: &x86_build "2020-03-18-jflags"
 
 .use-x86_build:
   variables:
@@ -134,19 +145,19 @@ x86_build:
 x86_test-gl:
   extends: x86_build
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-03-13"
+    FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-03-18-jflags"
 
 # Debian 10 based x86 test image for VK
 x86_test-vk:
   extends: x86_build
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-03-27"
+    FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-04-01-jflags"
 
 # Debian 9 based x86 build image (old LLVM)
 x86_build_old:
   extends: x86_build
   variables:
-    FDO_DISTRIBUTION_TAG: &x86_build_old "2019-09-18"
+    FDO_DISTRIBUTION_TAG: &x86_build_old "2019-03-18-jflags"
     FDO_DISTRIBUTION_VERSION: stretch-slim
 
 .use-x86_build_old:
@@ -162,7 +173,7 @@ arm_build:
     - .fdo.container-build@debian@arm64v8
     - .container
   variables:
-    FDO_DISTRIBUTION_TAG: &arm_build "2020-03-24"
+    FDO_DISTRIBUTION_TAG: &arm_build "2020-04-01-jflags"
 
 .use-arm_build:
   variables:
@@ -175,7 +186,7 @@ arm_build:
 arm_test:
   extends: arm_build
   variables:
-    FDO_DISTRIBUTION_TAG: &arm_test "2020-01-30"
+    FDO_DISTRIBUTION_TAG: &arm_test "2020-03-18-jflags"
 
 .use-arm_test:
   variables:
@@ -214,6 +225,7 @@ windows_build_vs2019:
     - windows
     - shell
     - "1809"
+    - mesa
   script:
     - .\.gitlab-ci\windows\mesa_container.ps1 $CI_REGISTRY $CI_REGISTRY_USER $CI_REGISTRY_PASSWORD $WINDOWS_IMAGE $WINDOWS_UPSTREAM_IMAGE
   
@@ -258,6 +270,7 @@ windows_build_vs2019:
     - windows
     - docker
     - "1809"
+    - mesa
   cache:
     key: ${CI_JOB_NAME}
     paths:
@@ -425,7 +438,7 @@ meson-clang:
     CC: "ccache clang-9"
     CXX: "ccache clang++-9"
 
-.meson-windows-vs2019:
+meson-windows-vs2019:
   extends:
     - .build-windows
     - .use-windows_build_vs2019
@@ -436,8 +449,9 @@ meson-clang:
 scons-win64:
   extends: .scons-build
   variables:
-    SCONS_TARGET: platform=windows machine=x86_64
+    SCONS_TARGET: platform=windows machine=x86_64 debug=1
     SCONS_CHECK_COMMAND: "true"
+  allow_failure: true
 
 meson-clover:
   extends: .meson-build
@@ -557,22 +571,6 @@ meson-mingw32-x86_64:
       -Dosmesa=gallium
       --cross-file=.gitlab-ci/x86_64-w64-mingw32
 
-scons:
-  extends: .scons-build
-  variables:
-    SCONS_TARGET: "llvm=1 swr=1"
-    SCONS_CHECK_COMMAND: "scons force_scons=1 ${SCONS_TARGET} check"
-  script:
-    - SCONS_TARGET="" SCONS_CHECK_COMMAND="scons check force_scons=1" .gitlab-ci/scons-build.sh
-    - LLVM_VERSION=9 .gitlab-ci/scons-build.sh
-
-scons-old-llvm:
-  extends:
-    - scons
-    - .use-x86_build_old
-  script:
-    - LLVM_VERSION=3.9 .gitlab-ci/scons-build.sh
-
 .test:
   extends:
     - .ci-run-policy