CI: Add Win32 and Win64 cross builds
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Tue, 18 Dec 2018 02:58:39 +0000 (21:58 -0500)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Tue, 8 Jan 2019 15:31:19 +0000 (10:31 -0500)
.gitlab-ci.yml
gitlab/ci_template.yml

index 0d535ac..e7709c7 100644 (file)
@@ -145,6 +145,22 @@ build cerbero fedora x86_64 local:
     refs:
       - "master@gstreamer/gst-ci"
 
+build cerbero cross win32 local:
+  extends: '.build cerbero cross win32'
+  image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
+  when: 'manual'
+  except:
+    refs:
+      - "master@gstreamer/gst-ci"
+
+build cerbero cross win64 local:
+  extends: '.build cerbero cross win64'
+  image: "${CI_REGISTRY_IMAGE}/amd64/cerbero-fedora:latest"
+  when: 'manual'
+  except:
+    refs:
+      - "master@gstreamer/gst-ci"
+
 .test fedora x86_64 local:
   image: '${CI_REGISTRY_IMAGE}/amd64/fedora:latest'
   extends: '.test'
index a3421c4..17e934e 100644 (file)
@@ -206,11 +206,11 @@ check fedora:
 #
 # Parameters:
 # CONFIG: The name of the configuration file to use
-# ARCH: The cerbero <distro>_<cpu> (used in cache key)
 #
 # Produces runtime and devel tarball packages.
 .cerbero:
   stage: "full builds"
+  image: $CERBERO_IMAGE
   dependencies:
     - "manifest"
   variables:
@@ -242,7 +242,7 @@ check fedora:
     - $CERBERO package --offline -t -o ${CI_PROJECT_DIR} gstreamer-1.0
     - ccache -s
   cache:
-    key: "cerbero_${ARCH}"
+    key: "${CI_JOB_NAME}"
     paths:
       - "${CCACHE_DIR}"
       - "${CERBERO_SOURCES}"
@@ -263,9 +263,8 @@ check fedora:
 #
 # Parameters:
 # CONFIG: The name of the configuration file to use
-# ARCH: The architecture name (Cerbero naming)
 #
-# Produce an artifact with the dist/ and .cache for the ARCH along
+# Produce an artifact with the dist/ and .cache along
 # with the associated build-tools.
 .cerbero deps:
   extends: .cerbero
@@ -281,8 +280,7 @@ check fedora:
           gst-libav-1.0 gst-validate gst-editing-services-1.0 libnice
     - $CERBERO fetch-cache --skip-fetch --job-id=${CI_JOB_ID}
     - tar -C ${CERBERO_HOME} -czf $CERBERO_DEPS
-              build-tools build-tools.cache
-              dist/${ARCH} ${ARCH}.cache
+              build-tools/ dist/ *.cache
     - ccache -s
   only:
     variables:
@@ -297,20 +295,48 @@ check fedora:
       - "cerbero-build/cerbero-deps.log"
       - "${CERBERO_DEPS}"
 
+#
+# Cerbero Linux X86_64 build
+#
 .build cerbero fedora x86_64:
   extends: '.cerbero'
-  image: $CERBERO_IMAGE
   variables:
     CONFIG: "linux.config"
-    ARCH: "linux_x86_64"
 
 .cerbero deps fedora x86_64:
   extends: '.cerbero deps'
-  image: $CERBERO_IMAGE
   variables:
     CONFIG: "linux.config"
-    ARCH: "linux_x86_64"
 
-# This indirection allow overriding the image without passing again CONFIG and ARCH
+# This indirection allow overriding the image without passing again CONFIG
 build cerbero fedora x86_64:
   extends: '.build cerbero fedora x86_64'
+
+#
+# Cerbero Cross Windows builds
+#
+.build cerbero cross win32:
+  extends: '.cerbero'
+  variables:
+    CONFIG: "cross-win32.cbc"
+
+.cerbero deps cross win32:
+  extends: '.cerbero deps'
+  variables:
+    CONFIG: "cross-win32.cbc"
+
+build cerbero cross win32:
+  extends: '.build cerbero cross win32'
+
+.build cerbero cross win64:
+  extends: '.cerbero'
+  variables:
+    CONFIG: "cross-win64.cbc"
+
+.cerbero deps cross win64:
+  extends: '.cerbero deps'
+  variables:
+    CONFIG: "cross-win64.cbc"
+
+build cerbero cross win64:
+  extends: '.build cerbero cross win64'