ci: Add a release build with -Werror enabled.

This will keep us from needing new MRs to fix up release build warnings
after the fact.  I've mostly derived from meson-gallium, dropping
components that aren't clean yet.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6462>
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a891178..5bca218 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -560,6 +560,36 @@
     - .gitlab-ci/run-shader-db.sh
     - src/freedreno/.gitlab-ci/run-fdtools.sh
 
+# Test a release build with -Werror so new warnings don't sneak in.
+meson-release:
+  extends: .meson-build
+  variables:
+    UNWIND: "enabled"
+    DRI_LOADERS: >
+      -D glx=dri
+      -D gbm=enabled
+      -D egl=enabled
+      -D platforms=x11,wayland
+    GALLIUM_ST: >
+      -D dri3=enabled
+      -D gallium-extra-hud=true
+      -D gallium-vdpau=enabled
+      -D gallium-xvmc=disabled
+      -D gallium-omx=disabled
+      -D gallium-va=enabled
+      -D gallium-xa=enabled
+      -D gallium-nine=false
+      -D gallium-opencl=disabled
+      -D llvm=false
+    GALLIUM_DRIVERS: "nouveau,kmsro,r300,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink"
+    BUILDTYPE: "release"
+    EXTRA_OPTION: >
+      -D osmesa=none
+      -D tools=all
+      -D werror=true
+  script:
+    - .gitlab-ci/meson-build.sh
+
 meson-classic:
   extends: .meson-build
   variables: