55 lines
1.8 KiB
YAML
55 lines
1.8 KiB
YAML
stages:
|
|
- build
|
|
|
|
# FIXME: Use --werror once warnings are fixed.
|
|
variables:
|
|
MESON_ARGS: --fatal-meson-warnings
|
|
MESON_ARGS_WINDOWS: ${MESON_ARGS} --force-fallback-for=zlib
|
|
|
|
.build meson windows:
|
|
# See
|
|
# https://gitlab.freedesktop.org/gstreamer/gst-ci/container_registry/213
|
|
image: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/windows:v14-master'
|
|
stage: 'build'
|
|
tags:
|
|
- 'docker'
|
|
- 'windows'
|
|
- '1809'
|
|
- 'gstreamer-windows'
|
|
variables:
|
|
# Make sure any failure in PowerShell scripts is fatal.
|
|
ErrorActionPreference: 'Stop'
|
|
WarningPreference: 'Stop'
|
|
# Uncomment the following key if need to pass custom args, as well with
|
|
# the `$env:MESON_ARGS` line in the `script:` blocks.
|
|
# MESON_ARGS: >-
|
|
# -Dfoo=enabled
|
|
# -Dbar=disabled
|
|
before_script:
|
|
# Make sure meson is up to date, so we don't need to rebuild the image
|
|
# with each release.
|
|
- pip3 install -U meson ninja
|
|
script:
|
|
# For some reason, options are separated by newlines instead of spaces,
|
|
# so we have to replace them first.
|
|
#- $env:MESON_ARGS = $env:MESON_ARGS.replace("`n"," ")
|
|
# Gitlab executes PowerShell in docker, but `VsDevCmd.bat` is a batch
|
|
# script. Environment variables substitutions is done by PowerShell
|
|
# before calling `cmd.exe`, that's why we use `$env:FOO` instead of
|
|
# `%FOO%`.
|
|
- cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=$env:ARCH &&
|
|
meson setup build $env:MESON_ARGS_WINDOWS &&
|
|
meson compile --verbose -C build &&
|
|
meson test -C build &&
|
|
meson test -C build --benchmark"
|
|
|
|
meson vs2017 amd64:
|
|
extends: '.build meson windows'
|
|
variables:
|
|
ARCH: 'amd64'
|
|
|
|
meson vs2017 x86:
|
|
extends: '.build meson windows'
|
|
variables:
|
|
ARCH: 'x86'
|