summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml100
1 files changed, 80 insertions, 20 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 52db4de47..5d455afb8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -21,6 +21,7 @@ variables:
stages:
- prep
+ - build
- test
# Global CI policy: This can be used to configure global behaviour our our jobs
@@ -98,22 +99,86 @@ fedora autotools build:
extends:
- '.fdo.distribution-image@fedora'
- '.ccache_setup'
- stage: 'test'
+ stage: 'build'
script:
- ./autogen.sh
- # Current test failures that we ignore for now
- - export CAIRO_TEST_UGLY_HACK_TO_SOMETIMES_IGNORE_SCRIPT_XCB_HUGE_IMAGE_SHM=1
- - export CAIRO_TEST_UGLY_HACK_TO_IGNORE_CREATE_FOR_STREAM=1
+ - make V=1 VERBOSE=1
+ artifacts:
+ when: 'always'
+ expire_in: '2 days'
+ paths:
+ - "*"
+
+.test fedora autotools:
+ dependencies:
+ - 'fedora autotools build'
+ needs:
+ - 'fedora autotools build'
+ extends:
+ - '.fdo.distribution-image@fedora'
+ - '.ccache_setup'
+ stage: 'test'
+ artifacts:
+ when: 'always'
+ expire_in: "7 days"
+ paths:
+ - config.log
+ - test/*.log
+ - test/pdiff/*.log
+ - test/output
+ exclude:
+ - "test/**/*.cs"
+ - "test/**/*.trace"
+
+test fedora autotools pdf:
+ extends: '.test fedora autotools'
+ script:
- export CAIRO_TEST_IGNORE_pdf_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-pdf-argb32.txt)
- export CAIRO_TEST_IGNORE_pdf_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-pdf-rgb24.txt)
+ - export CAIRO_TEST_TARGET=pdf
+ - make check V=1 VERBOSE=1
+
+test fedora autotools script:
+ extends: '.test fedora autotools'
+ script:
+ - export CAIRO_TEST_UGLY_HACK_TO_SOMETIMES_IGNORE_SCRIPT_XCB_HUGE_IMAGE_SHM=1
- export CAIRO_TEST_IGNORE_script_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-script-argb32.txt)
+ - export CAIRO_TEST_TARGET=script
+ - make check V=1 VERBOSE=1
+
+test fedora autotools image:
+ extends: '.test fedora autotools'
+ script:
- export CAIRO_TEST_IGNORE_image_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-image-argb32.txt)
- export CAIRO_TEST_IGNORE_image_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-image-rgb24.txt)
- export CAIRO_TEST_IGNORE_image16_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-image16-rgb24.txt)
+ - export CAIRO_TEST_TARGET=image,image16
+ - make check V=1 VERBOSE=1
+
+test fedora autotools recording:
+ extends: '.test fedora autotools'
+ script:
- export CAIRO_TEST_IGNORE_recording_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-recording-argb32.txt)
- export CAIRO_TEST_IGNORE_recording_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-recording-rgb24.txt)
+ - export CAIRO_TEST_TARGET=recording
+ - make check V=1 VERBOSE=1
+
+test fedora autotools svg:
+ extends: '.test fedora autotools'
+ script:
+ - export CAIRO_TEST_UGLY_HACK_TO_IGNORE_CREATE_FOR_STREAM=1
- export CAIRO_TEST_IGNORE_svg11_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-svg11-argb32.txt)
- export CAIRO_TEST_IGNORE_svg11_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-svg11-rgb24.txt)
+ - export CAIRO_TEST_TARGET=svg11
+ - export CAIRO_BOILERPLATE_OPEN_NO_DAEMON=1
+ - export CAIRO_BOILERPLATE_DO_NOT_CRASH_ON_ANY2PPM_ERROR=1
+ - export ANY2PPM="timeout 3m ./any2ppm"
+ - ulimit -S -s 131072
+ - make check V=1 VERBOSE=1
+
+test fedora autotools xcb:
+ extends: '.test fedora autotools'
+ script:
- export CAIRO_TEST_IGNORE_xcb_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-xcb-argb32.txt)
- export CAIRO_TEST_IGNORE_xcb_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-xcb-rgb24.txt)
- export CAIRO_TEST_IGNORE_xcb_window_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-xcb-window-rgb24.txt)
@@ -121,33 +186,25 @@ fedora autotools build:
- export CAIRO_TEST_IGNORE_xcb_render_0_0_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-xcb-render-0-0-argb32.txt)
- export CAIRO_TEST_IGNORE_xcb_render_0_0_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt)
- export CAIRO_TEST_IGNORE_xcb_fallback_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-xcb-fallback-rgb24.txt)
+ - export CAIRO_TEST_TARGET="xcb,xcb-window,xcb-window&,xcb-render-0_0,xcb-fallback"
+ - xvfb-run make check V=1 VERBOSE=1
+
+test fedora autotools xlib:
+ extends: '.test fedora autotools'
+ script:
- export CAIRO_TEST_IGNORE_xlib_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-xlib-argb32.txt)
- export CAIRO_TEST_IGNORE_xlib_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-xlib-rgb24.txt)
- export CAIRO_TEST_IGNORE_xlib_window_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-xlib-window-rgb24.txt)
- export CAIRO_TEST_IGNORE_xlib_render_0_0_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-xlib-render-0-0-rgb24.txt)
- export CAIRO_TEST_IGNORE_xlib_fallback_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-xlib-fallback-rgb24.txt)
- - export CAIRO_BOILERPLATE_OPEN_NO_DAEMON=1
- - export CAIRO_BOILERPLATE_DO_NOT_CRASH_ON_ANY2PPM_ERROR=1
- - export ANY2PPM="timeout 3m ./any2ppm"
- - ulimit -S -s 131072
+ - export CAIRO_TEST_TARGET="xlib,xlib-window,xlib-render-0_0,xlib-fallback"
- xvfb-run make check V=1 VERBOSE=1
- artifacts:
- when: 'always'
- expire_in: "7 days"
- paths:
- - config.log
- - test/*.log
- - test/pdiff/*.log
- - test/output
- exclude:
- - "test/**/*.cs"
- - "test/**/*.trace"
fedora meson build:
extends:
- '.fdo.distribution-image@fedora'
- '.ccache_setup'
- stage: 'test'
+ stage: 'build'
variables:
MESON_ARGS: >
${DEFAULT_MESON_ARGS}
@@ -166,6 +223,7 @@ fedora meson build:
# Based on https://gitlab.freedesktop.org/gstreamer/gst-ci/-/blob/master/gitlab/ci_template.yml
.build meson windows:
image: $WINDOWS_IMAGE
+ stage: 'build'
tags:
- 'docker'
- 'windows'
@@ -214,6 +272,7 @@ meson vs2017 x86:
meson android arm64 fedora:
# See https://gitlab.freedesktop.org/gstreamer/gst-ci/container_registry/164 for current images
image: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/android-fedora:2020-10-22.0-master'
+ stage: 'build'
artifacts:
name: "${CI_JOB_NAME}_${CI_COMMIT_SHA}"
expire_in: '5 days'
@@ -255,6 +314,7 @@ meson android arm64 fedora:
meson macOS:
tags:
- gst-macos-11.1
+ stage: 'build'
artifacts:
when: 'always'
expire_in: "7 days"