egl: automatically compile the `drm` platform when available
[mesa.git] / .gitlab-ci.yml
index ff6d665b9dda92fb1f9d3e2fb04a9cbebf4bf49f..dd80adb36d778b39e2cf5a728e5044565a897ebd 100644 (file)
@@ -32,6 +32,13 @@ stages:
   - virgl
   - success
 
+# Generic rule to not run the job during scheduled pipelines
+# ----------------------------------------------------------
+.scheduled_pipelines-rules:
+  rules: &ignore_scheduled_pipelines
+    if: '$CI_PIPELINE_SOURCE == "schedule"'
+    when: never
+
 .docs-base:
   extends: .ci-run-policy
   image: alpine
@@ -47,6 +54,7 @@ pages:
     paths:
     - public
   rules:
+    - *ignore_scheduled_pipelines
     - if: '$CI_PROJECT_NAMESPACE == "mesa" && $CI_COMMIT_REF_NAME == "master"'
       changes: &docs-or-ci
       - docs/**/*
@@ -58,6 +66,7 @@ test-docs:
   extends: .docs-base
   stage: container+docs
   rules:
+    - *ignore_scheduled_pipelines
     - if: '$CI_PROJECT_NAMESPACE == "mesa"'
       when: never
     - if: '$GITLAB_USER_LOGIN == "marge-bot"'
@@ -70,6 +79,7 @@ test-docs:
 # When to automatically run the CI
 .ci-run-policy:
   rules:
+    - *ignore_scheduled_pipelines
     # If any files affecting the pipeline are changed, build/test jobs run
     # automatically once all dependency jobs have passed
     - changes: &all_paths
@@ -106,6 +116,7 @@ success:
   stage: success
   image: debian:stable-slim
   rules:
+    - *ignore_scheduled_pipelines
     - if: '$CI_PROJECT_NAMESPACE == "mesa"'
       when: never
     - if: '$GITLAB_USER_LOGIN == "marge-bot"'
@@ -152,6 +163,7 @@ success:
   extends:
     - .ci-run-policy
   rules:
+    - *ignore_scheduled_pipelines
     # 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"'
@@ -399,8 +411,9 @@ arm64_test:
 git_archive:
   extends: .fdo.container-build@alpine
   stage: container+docs
-  only:
-    - schedules
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "schedule"'
+      when: always
   variables:
     FDO_REPO_SUFFIX: &git-archive-suffix "alpine/git_archive"
     FDO_DISTRIBUTION_EXEC: 'pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@6f5af7e5574509726c79109e3c147cee95e81366'
@@ -415,8 +428,9 @@ git_archive:
 make git archive:
   stage: git-archive
   extends: .fdo.suffixed-image@alpine
-  only:
-    - schedules
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "schedule"'
+      when: on_success
   # ensure we are running on packet
   tags:
     - packet.net
@@ -506,7 +520,7 @@ meson-testing:
       -D glx=dri
       -D gbm=enabled
       -D egl=enabled
-      -D platforms=x11,drm,surfaceless
+      -D platforms=x11
     GALLIUM_ST: >
       -D dri3=enabled
     GALLIUM_DRIVERS: "swrast,virgl"
@@ -526,7 +540,7 @@ meson-gallium:
       -D glx=dri
       -D gbm=enabled
       -D egl=enabled
-      -D platforms=x11,wayland,drm,surfaceless
+      -D platforms=x11,wayland
     GALLIUM_ST: >
       -D dri3=enabled
       -D gallium-extra-hud=true
@@ -541,6 +555,7 @@ meson-gallium:
     EXTRA_OPTION: >
       -D osmesa=gallium
       -D tools=all
+      -D werror=true
   script:
     - .gitlab-ci/meson-build.sh
     - .gitlab-ci/run-shader-db.sh
@@ -570,7 +585,7 @@ meson-classic:
       -D glx=disabled
       -D gbm=disabled
       -D egl=enabled
-      -D platforms=surfaceless
+      -D platforms=[]
       -D osmesa=none
     GALLIUM_ST: >
       -D dri3=disabled
@@ -690,7 +705,7 @@ meson-clover-old-llvm:
       -D glx=disabled
       -D egl=disabled
       -D gbm=disabled
-      -D platforms=drm,surfaceless
+      -D platforms=[]
     GALLIUM_DRIVERS: "i915,r600"
   script:
     - LLVM_VERSION=3.9 .gitlab-ci/meson-build.sh
@@ -707,7 +722,7 @@ meson-vulkan:
       -D glx=disabled
       -D gbm=disabled
       -D egl=disabled
-      -D platforms=x11,wayland,drm
+      -D platforms=x11,wayland
       -D osmesa=none
     GALLIUM_ST: >
       -D dri3=enabled
@@ -986,6 +1001,7 @@ virgl-gl32-on-gl:
 # to).
 .test-manual:
   rules:
+    - *ignore_scheduled_pipelines
     - if: '$CI_PROJECT_PATH != "mesa/mesa" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME != $CI_COMMIT_REF_NAME'
       changes:
         *all_paths