Fix cross build with mingw32
[platform/upstream/gstreamer.git] / .gitlab-ci.yml
index 917cf6e..893d824 100644 (file)
@@ -25,9 +25,9 @@ variables:
   # If you are hacking on them or need a them to rebuild, its enough
   # to change any part of the string of the image you want.
   ###
-  FEDORA_TAG:  '2021-12-03.1'
+  FEDORA_TAG:  '2022-03-14.0'
   INDENT_TAG: '2021-10-04.0'
-  WINDOWS_TAG: "2021-10-12.0"
+  WINDOWS_TAG: "2022-03-14.0"
 
   GST_UPSTREAM_REPO: 'gstreamer/gstreamer'
   FDO_UPSTREAM_REPO: 'gstreamer/gstreamer'
@@ -145,6 +145,8 @@ fedora amd64 docker:
   stage: 'build docker'
   needs:
     - "trigger"
+  tags:
+    - 'packet.net'
 
 .gst-indent image:
   variables:
@@ -165,6 +167,7 @@ windows amd64 docker:
   stage: "build docker"
   needs:
     - "trigger"
+  timeout: '3h'
   variables:
     # Unlike the buildah/linux jobs, this file
     # needs to be relative to docker/windows/ subdir
@@ -287,6 +290,7 @@ gst indent:
 
 .base_modules_changes: &modules_changes
   - .gitlab-ci.yml
+  - ci/gitlab/*.py
   - meson.build
   - subprojects/*.wrap
   - subprojects/gst-devtools/**/*
@@ -386,6 +390,9 @@ build clang fedora x86_64:
       -Dvaapi=disabled
       -Dgst-plugins-base:pango=enabled
       -Dgst-plugins-good:cairo=enabled
+    # Needs to not be empty otherwise the newline -> space replace command in
+    # `script:` will fail
+    MESON_CROSS_ARGS: ' '
   rules:
     # If this matches, it means the pipeline is running against either the main
     # or a stable branch, so make it manual
@@ -398,8 +405,9 @@ build clang fedora x86_64:
     # For some reason, options are separated by newline instead of space, so we
     # have to replace them first.
     - $env:MESON_ARGS = $env:MESON_ARGS.replace("`n"," ")
+    - $env:MESON_CROSS_ARGS = $env:MESON_CROSS_ARGS.replace("`n"," ")
     - cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=$env:ARCH &&
-        meson build $env:MESON_ARGS &&
+        meson build $env:MESON_ARGS $env:MESON_CROSS_ARGS &&
         ninja -C build"
   # XXX: Re-enable when uploading stops timing out
   #artifacts:
@@ -407,17 +415,31 @@ build clang fedora x86_64:
   #  when: "always"
   #  paths:
   #    - 'build/meson-logs/'
+  #    - 'vslogs.zip'
 
-build vs2017 amd64:
+build vs2019 amd64:
   extends: '.build windows'
   variables:
     ARCH: 'amd64'
 
-build vs2017 x86:
+build vs2019 x86:
   extends: '.build windows'
   variables:
     ARCH: 'x86'
 
+build vs2019 arm64 uwp:
+  extends: '.build windows'
+  variables:
+    ARCH: 'arm64'
+    # pango pulls in cairo which pulls in pixman which doesn't build because of
+    # https://github.com/mesonbuild/meson/issues/9889
+    MESON_CROSS_ARGS: >
+      -Dgst-plugins-base:pango=disabled
+      -Dgst-plugins-good:cairo=disabled
+      -Dgst-devtools:cairo=disabled
+      --cross-file ci/meson/vs2019-arm64-cross-file.txt
+      --native-file ci/meson/vs2019-x64-native-file.txt
+
 build msys2 :
   extends: '.build windows'
   timeout: '60min'
@@ -661,6 +683,7 @@ valgrind ges:
       - subprojects/gst-plugins-good/**/*
       - subprojects/gst-plugins-bad/**/*
       - subprojects/gst-editing-services/**/*
+      - subprojects/gst-python/**/*
 
 # ---- Integration ----- #
 
@@ -719,7 +742,7 @@ build documentation:
       when: never
     - changes:
       - .gitlab-ci.yml
-      - ci/gitlab/freedesktop_doc_importer.sh
+      - ci/gitlab/*.py
       - subprojects/*.wrap
       - subprojects/gst-docs/**/*
       - subprojects/gst-devtools/**/*
@@ -738,6 +761,9 @@ build documentation:
 # https://gitlab.com/gitlab-org/gitlab/-/issues/341737
 cerbero trigger:
   stage: build
+  timeout: '3h'
+  tags:
+    - placeholder-job
   extends:
     - '.fedora image'
     - '.fdo.suffixed-image@fedora'
@@ -752,7 +778,7 @@ cerbero trigger:
       when: never
     - changes:
       - .gitlab-ci.yml
-      - ci/gitlab/trigger_cerbero_pipeline.py
+      - ci/gitlab/*.py
       - subprojects/gst-devtools/**/*
       - subprojects/gst-editing-services/**/*
       - subprojects/gst-libav/**/*