CI: Add Win32 and Win64 cross builds

This commit is contained in:
Nicolas Dufresne 2018-12-17 21:58:39 -05:00
parent 6f8e23359a
commit 5a55d5103d
2 changed files with 53 additions and 11 deletions

View 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'

View 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'