[CI] Introduce linux CI and refactor job names * .gitlab-ci.yml: Added jobs for building freetype on linux.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fa52cfa..fe3567b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,9 +6,9 @@ variables:
MESON_ARGS: --fatal-meson-warnings
MESON_ARGS_WINDOWS: ${MESON_ARGS} --force-fallback-for=zlib
-.build meson windows:
+.build windows common:
# See
- # https://gitlab.freedesktop.org/gstreamer/gst-ci/container_registry/213
+ # https://gitlab.freedesktop.org/gstreamer/gst-ci/container_registry/213
image: 'registry.freedesktop.org/gstreamer/gst-ci/amd64/windows:v14-master'
stage: 'build'
tags:
@@ -16,6 +16,15 @@ variables:
- 'windows'
- '1809'
- 'gstreamer-windows'
+
+.build linux common:
+ # See
+ # https://gitlab.freedesktop.org/freetype/docker-images/container_registry/20896
+ image: 'registry.freedesktop.org/freetype/docker-images/debian:latest'
+ stage: 'build'
+
+.build windows meson:
+ extends: '.build windows common'
variables:
# Make sure any failure in PowerShell scripts is fatal.
ErrorActionPreference: 'Stop'
@@ -43,12 +52,92 @@ variables:
meson test -C build &&
meson test -C build --benchmark"
-meson vs2017 amd64:
- extends: '.build meson windows'
+
+# Format of job names:
+# <OS> <Build-Tool> <Build-Params> <Architecture>
+
+
+# Windows jobs
+windows meson vs2017 amd64:
+ extends: '.build windows meson'
variables:
ARCH: 'amd64'
-meson vs2017 x86:
- extends: '.build meson windows'
+windows meson vs2017 x86:
+ extends: '.build windows meson'
variables:
ARCH: 'x86'
+
+
+# Linux Jobs
+# Jobs with "libs" in the name force enable libraries.
+# They are disabled in rest of the jobs.
+linux autotools:
+ extends: '.build linux common'
+ script: |
+ ./autogen.sh
+ ./configure --with-brotli=no \
+ --with-bzip2=no \
+ --with-harfbuzz=no \
+ --with-png=no \
+ --with-zlib=no
+
+ make -j$(nproc) && make install
+
+linux autotools libs:
+ extends: '.build linux common'
+ script: |
+ ./autogen.sh
+ ./configure --with-brotli=yes \
+ --with-bzip2=yes \
+ --with-harfbuzz=yes \
+ --with-png=yes \
+ --with-zlib=yes
+
+ make -j$(nproc) && make install
+
+linux meson:
+ extends: '.build linux common'
+ script: |
+ meson setup build -Dbrotli=disabled \
+ -Dbzip2=disabled \
+ -Dharfbuzz=disabled \
+ -Dpng=disabled \
+ -Dzlib=disabled
+
+ meson compile --verbose -C build
+ meson install -C build
+
+linux meson libs:
+ extends: '.build linux common'
+ script: |
+ meson setup build -Dbrotli=enabled \
+ -Dbzip2=enabled \
+ -Dharfbuzz=disabled \
+ -Dpng=disabled \
+ -Dzlib=disabled
+
+ meson compile --verbose -C build
+ meson install -C build
+
+linux cmake:
+ extends: '.build linux common'
+ script: |
+ cmake -B build -D FT_WITH_BROTLI=OFF \
+ -D FT_WITH_BZIP2=OFF \
+ -D FT_WITH_HARFBUZZ=OFF \
+ -D FT_WITH_PNG=OFF \
+ -D FT_WITH_ZLIB=OFF
+
+ cmake --build build --target install
+
+linux cmake libs:
+ extends: '.build linux common'
+ script: |
+ cmake -B build -D FT_WITH_BROTLI=ON \
+ -D FT_WITH_BZIP2=ON \
+ -D FT_WITH_HARFBUZZ=ON \
+ -D FT_WITH_PNG=ON \
+ -D FT_WITH_ZLIB=ON
+
+ cmake --build build --target install
diff --git a/ChangeLog b/ChangeLog
index f1e3579..eb65fe8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2021-06-25 Anurag Thakur <anuthadev@gmail.com>
+
+ [CI] Introduce linux CI and refactor job names.
+
+ * .gitlab-ci.yml: Added jobs for building freetype on linux.
+
2021-06-28 Alexei Podtelezhnikov <apodtele@gmail.com>
[raster] Handle Bézier stack locally.