parent
7e2a1b2577
commit
428515daae
800
.gitlab-ci.yml
800
.gitlab-ci.yml
|
@ -1,17 +1,174 @@
|
|||
image: fedora:rawhide
|
||||
# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0 filetype=yaml:
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# THIS FILE IS GENERATED, DO NOT EDIT #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
# To change the gitlab CI, edit .gitlab-ci/ci.template and/or .gitlab-ci/config.yml
|
||||
# and run ci-fairy generate-template. For details, see
|
||||
# https://freedesktop.pages.freedesktop.org/ci-templates/ci-fairy.html#templating-gitlab-ci-yml
|
||||
|
||||
.templates_sha: &template_sha dd90ac0d7a03b574eb4f18d7358083f0c97825f3
|
||||
|
||||
include:
|
||||
# Fedora container builder template
|
||||
- project: 'freedesktop/ci-templates'
|
||||
ref: *template_sha
|
||||
file: '/templates/fedora.yml'
|
||||
- project: 'freedesktop/ci-templates'
|
||||
ref: *template_sha
|
||||
file: '/templates/ci-fairy.yml'
|
||||
|
||||
stages:
|
||||
- build
|
||||
- prep
|
||||
- test
|
||||
- container_clean
|
||||
|
||||
before_script:
|
||||
- dnf -y upgrade --disablerepo=rawhide-modular --nogpgcheck fedora-repos fedora-repos-rawhide
|
||||
- dnf -y upgrade --disablerepo=rawhide-modular
|
||||
- dnf -y install --disablerepo=rawhide-modular --allowerasing --skip-broken @buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap
|
||||
- dnf -y install --disablerepo=rawhide-modular --allowerasing --skip-broken ninja-build wget python3-pip
|
||||
- pip install meson
|
||||
variables:
|
||||
FDO_UPSTREAM_REPO: fontconfig/fontconfig
|
||||
GIT_DEPTH: 1
|
||||
|
||||
shared-build:
|
||||
stage: build
|
||||
# these tags should be updated each time the list of packages is updated
|
||||
# changing these will force rebuilding the associated image
|
||||
# Note: these tags have no meaning and are not tied to a particular
|
||||
# fontconfig version
|
||||
FEDORA_TAG: '2023-03-31.0-b3f8fc5f8b0d'
|
||||
|
||||
FEDORA_EXEC: 'bash .gitlab-ci/fedora-install.sh'
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# containers stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
# Build a container for each distribution + version. The ci-templates
|
||||
# will re-use the containers if the tag doesn't change.
|
||||
|
||||
fedora:rawhide@container-prep:
|
||||
extends:
|
||||
- .fdo.container-build@fedora
|
||||
stage: prep
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC
|
||||
|
||||
fedora:38@container-prep:
|
||||
extends:
|
||||
- .fdo.container-build@fedora
|
||||
stage: prep
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
FDO_DISTRIBUTION_VERSION: '38'
|
||||
FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC
|
||||
|
||||
fedora:37@container-prep:
|
||||
extends:
|
||||
- .fdo.container-build@fedora
|
||||
stage: prep
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
FDO_DISTRIBUTION_VERSION: '37'
|
||||
FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC
|
||||
|
||||
fedora:36@container-prep:
|
||||
extends:
|
||||
- .fdo.container-build@fedora
|
||||
stage: prep
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
FDO_DISTRIBUTION_VERSION: '36'
|
||||
FDO_DISTRIBUTION_PACKAGES: '@buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap ninja-build wget python3-pip'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# container clean stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
#
|
||||
# This stage will look for the container images e currently have in
|
||||
# the registry and will remove any that are not tagged with the provided
|
||||
# $container_image:$tag
|
||||
#
|
||||
# This job only runs for a scheduled pipeline.
|
||||
#
|
||||
# Go to your Profile, Settings, Access Tokens
|
||||
# Create a personal token with `api' scope, copy the value.
|
||||
# Go to CI/CD, Schedules, schedule a monthly job.
|
||||
# Define a variable of type File named AUTHFILE. Content is that token
|
||||
# value.
|
||||
.container-clean:
|
||||
stage: container_clean
|
||||
image: golang:alpine
|
||||
before_script:
|
||||
- apk add python3 py-pip git
|
||||
- pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates
|
||||
script:
|
||||
- ci-fairy -v --authfile $AUTHFILE delete-image
|
||||
--repository $FDO_DISTRIBUTION_NAME/$FDO_DISTRIBUTION_VERSION
|
||||
--exclude-tag $FDO_DISTRIBUTION_TAG
|
||||
dependencies: []
|
||||
allow_failure: true
|
||||
only:
|
||||
- schedules
|
||||
|
||||
fedora:rawhide@container-clean:
|
||||
extends:
|
||||
- .container-clean
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/fedora/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
|
||||
fedora:38@container-clean:
|
||||
extends:
|
||||
- .container-clean
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/fedora/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
|
||||
FDO_DISTRIBUTION_VERSION: '38'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
|
||||
fedora:37@container-clean:
|
||||
extends:
|
||||
- .container-clean
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/fedora/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
|
||||
FDO_DISTRIBUTION_VERSION: '37'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
|
||||
fedora:36@container-clean:
|
||||
extends:
|
||||
- .container-clean
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/fedora/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
|
||||
FDO_DISTRIBUTION_VERSION: '36'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# build stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
.build autotools shared expat:
|
||||
stage: test
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
|
@ -19,268 +176,397 @@ shared-build:
|
|||
- export MAKEFLAGS="-j4"
|
||||
- mkdir "$BUILDDIR" "$PREFIX"
|
||||
- cd "$BUILDDIR"
|
||||
- ../autogen.sh --prefix="$PREFIX" --enable-shared --disable-static --enable-libxml2
|
||||
- make
|
||||
- make check
|
||||
- make install
|
||||
- make distcheck
|
||||
- env
|
||||
- r=0
|
||||
- ../autogen.sh --prefix="$PREFIX" --enable-shared --disable-static --disable-libxml2 2>&1 | tee /tmp/fc-build.log || r=$?
|
||||
- make install V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
- make distcheck V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
- mv /tmp/fc-build.log .
|
||||
- exit $r
|
||||
.build autotools shared libxml2:
|
||||
stage: test
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- mkdir "$BUILDDIR" "$PREFIX"
|
||||
- cd "$BUILDDIR"
|
||||
- env
|
||||
- r=0
|
||||
- ../autogen.sh --prefix="$PREFIX" --enable-shared --disable-static --enable-libxml2 2>&1 | tee /tmp/fc-build.log || r=$?
|
||||
- make install V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
- make distcheck V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
- mv /tmp/fc-build.log .
|
||||
- exit $r
|
||||
.build autotools static expat:
|
||||
stage: test
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- mkdir "$BUILDDIR" "$PREFIX"
|
||||
- cd "$BUILDDIR"
|
||||
- env
|
||||
- r=0
|
||||
- ../autogen.sh --prefix="$PREFIX" --disable-shared --enable-static --disable-libxml2 2>&1 | tee /tmp/fc-build.log || r=$?
|
||||
- make check V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
- make install V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
- mv /tmp/fc-build.log .
|
||||
- exit $r
|
||||
.build autotools static libxml2:
|
||||
stage: test
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- mkdir "$BUILDDIR" "$PREFIX"
|
||||
- cd "$BUILDDIR"
|
||||
- env
|
||||
- r=0
|
||||
- ../autogen.sh --prefix="$PREFIX" --disable-shared --enable-static --enable-libxml2 2>&1 | tee /tmp/fc-build.log || r=$?
|
||||
- make check V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
- make install V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
- mv /tmp/fc-build.log .
|
||||
- exit $r
|
||||
.build meson shared:
|
||||
stage: test
|
||||
before_script:
|
||||
- pip install meson
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- env
|
||||
- r=0
|
||||
- meson --prefix="$PREFIX" --default-library=shared "$BUILDDIR" 2>&1 | tee /tmp/fc-build.log || r=$?
|
||||
- meson compile -v -C "$BUILDDIR" | tee -a /tmp/fc-build.log || r=$?
|
||||
- meson test -v -C "$BUILDDIR" | tee -a /tmp/fc-build.log || r=$?
|
||||
- meson install -v -C "$BUILDDIR" | tee -a /tmp/fc-build.log || r=$?
|
||||
- meson dist -v -C "$BUILDDIR" | tee -a /tmp/fc-build.log || r=$?
|
||||
- mv /tmp/fc-build.log .
|
||||
- exit $r
|
||||
.build meson static:
|
||||
stage: test
|
||||
before_script:
|
||||
- pip install meson
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- env
|
||||
- r=0
|
||||
- meson --prefix="$PREFIX" --default-library=static "$BUILDDIR" 2>&1 | tee /tmp/fc-build.log || r=$?
|
||||
- meson compile -v -C "$BUILDDIR" | tee -a /tmp/fc-build.log || r=$?
|
||||
- meson test -v -C "$BUILDDIR" | tee -a /tmp/fc-build.log || r=$?
|
||||
- meson install -v -C "$BUILDDIR" | tee -a /tmp/fc-build.log || r=$?
|
||||
- mv /tmp/fc-build.log .
|
||||
- exit $r
|
||||
.fc_artifacts:
|
||||
artifacts:
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
expire_in: 5 days
|
||||
paths:
|
||||
- fc-build.log
|
||||
- build-*/fontconfig-*.tar.*
|
||||
- build-*/fontconfig*/_build/sub/*.log
|
||||
- build-*/fontconfig*/_build/sub/test/*.log
|
||||
- build-*/fontconfig*/_build/sub/test/*.trs
|
||||
- build-*/fontconfig*/_build/sub/test/out*
|
||||
- build-*/*.log
|
||||
- build-*/test/*.log
|
||||
- build-*/test/*.trs
|
||||
- build-*/test/out*
|
||||
- prefix-*
|
||||
static-build:
|
||||
stage: build
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- mkdir "$BUILDDIR"
|
||||
- cd "$BUILDDIR"
|
||||
- ../autogen.sh --prefix="$PREFIX" --disable-shared --enable-static --enable-libxml2
|
||||
- make
|
||||
- make check
|
||||
artifacts:
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
paths:
|
||||
- build-*/*.log
|
||||
- build-*/test/*.log
|
||||
- build-*/test/*.trs
|
||||
- build-*/test/out*
|
||||
mingw-build:
|
||||
image: fedora:35
|
||||
stage: build
|
||||
before_script:
|
||||
- dnf -y upgrade --disablerepo=rawhide-modular
|
||||
- dnf -y install --disablerepo=rawhide-modular --allowerasing --skip-broken @buildsys-build autoconf automake libtool gettext gettext-devel gperf libxml2-devel freetype-devel json-c-devel git docbook-utils docbook-utils-pdf wget
|
||||
- dnf -y install --disablerepo=rawhide-modular --allowerasing --skip-broken mingw64-gettext mingw64-freetype mingw64-libxml2 wine
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- mkdir "$BUILDDIR"
|
||||
- cd "$BUILDDIR"
|
||||
- eval `rpm --eval %{mingw64_env}`
|
||||
- ../autogen.sh --prefix="$PREFIX" --host=x86_64-mingw32 --disable-shared --enable-static --enable-libxml2
|
||||
- make
|
||||
- make check
|
||||
artifacts:
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
paths:
|
||||
- build-*/*.log
|
||||
- build-*/test/*.log
|
||||
- build-*/test/*.trs
|
||||
- build-*/test/out*
|
||||
meson-shared-build:
|
||||
image: fedora:latest
|
||||
stage: build
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- meson --prefix="$PREFIX" --default-library=shared "$BUILDDIR"
|
||||
- ninja -C "$BUILDDIR"
|
||||
- ninja -C "$BUILDDIR" test
|
||||
- ninja -C "$BUILDDIR" install
|
||||
artifacts:
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
paths:
|
||||
- build-*/meson-logs/*txt
|
||||
- prefix-*
|
||||
meson-static-build:
|
||||
image: fedora:latest
|
||||
stage: build
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- meson --prefix="$PREFIX" --default-library=static "$BUILDDIR"
|
||||
- ninja -C "$BUILDDIR"
|
||||
- ninja -C "$BUILDDIR" test
|
||||
- ninja -C "$BUILDDIR" install
|
||||
artifacts:
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
paths:
|
||||
- build-*/meson-logs/*txt
|
||||
- prefix-*
|
||||
meson-mingw-w64-build:
|
||||
image: fedora:latest
|
||||
stage: build
|
||||
# allow failure until https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/263 is resolved
|
||||
allow_failure: true
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- eval `rpm --eval %{mingw64_env}`
|
||||
- meson --prefix="$PREFIX" "$BUILDDIR" --cross-file .gitlab-ci/linux-mingw-w64-64bit.txt
|
||||
- ninja -C "$BUILDDIR"
|
||||
- ninja -C "$BUILDDIR" test
|
||||
# install doesn't work, fccache problems, but autotools ci doesn't do that either
|
||||
# - ninja -C "$BUILDDIR" install
|
||||
artifacts:
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
paths:
|
||||
- build-*/meson-logs/*txt
|
||||
- prefix-*
|
||||
- build-*/fontconfig*/_build
|
||||
|
||||
# FIXME: fontconfig should probably get its own image
|
||||
# In the meantime, the latest GStreamer image tag can be found here:
|
||||
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/.gitlab-image-tags.yml#L10
|
||||
.build meson windows:
|
||||
image: 'registry.freedesktop.org/gstreamer/gstreamer/amd64/windows:2022-09-23.0-main'
|
||||
stage: 'build'
|
||||
tags:
|
||||
- 'docker'
|
||||
- 'windows'
|
||||
- '2022'
|
||||
#######################################
|
||||
# #
|
||||
# test stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
|
||||
t_fedora:rawhide:autotools shared expat:
|
||||
extends:
|
||||
- .build autotools shared expat
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
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 certifi
|
||||
script:
|
||||
# For some reason, options are separated by newline instead of space, 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 &&
|
||||
SET CERT_PATH=$(python -m certifi) &&
|
||||
SET SSL_CERT_FILE=$(python -m certifi) &&
|
||||
SET REQUESTS_CA_BUNDLE=$(python -m certifi) &&
|
||||
meson build $env:MESON_ARGS &&
|
||||
ninja -C build &&
|
||||
ninja -C build test"
|
||||
artifacts:
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
paths:
|
||||
- build-*/meson-logs/*txt
|
||||
- prefix-*
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:rawhide@container-prep'
|
||||
|
||||
meson vs2019 amd64:
|
||||
extends: '.build meson windows'
|
||||
|
||||
t_fedora:rawhide:autotools shared libxml2:
|
||||
extends:
|
||||
- .build autotools shared libxml2
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
ARCH: 'amd64'
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:rawhide@container-prep'
|
||||
|
||||
meson vs2019 x86:
|
||||
extends: '.build meson windows'
|
||||
|
||||
t_fedora:rawhide:autotools static expat:
|
||||
extends:
|
||||
- .build autotools static expat
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
ARCH: 'x86'
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:rawhide@container-prep'
|
||||
|
||||
meson macos:
|
||||
stage: 'build'
|
||||
tags:
|
||||
- gst-macos-11.1
|
||||
artifacts:
|
||||
name: "${CI_JOB_NAME}_${CI_COMMIT_SHA}"
|
||||
expire_in: '5 days'
|
||||
when: 'always'
|
||||
paths:
|
||||
- "build/meson-logs/*txt"
|
||||
before_script:
|
||||
- pip3 install --upgrade pip
|
||||
# Make sure meson is up to date
|
||||
- pip3 install -U meson
|
||||
# Need to install certificates for python
|
||||
- pip3 install --upgrade certifi
|
||||
# Anther way t install certificates
|
||||
- open /Applications/Python\ 3.8/Install\ Certificates.command
|
||||
# Get ninja
|
||||
- curl -L -o ninja-mac.zip https://github.com/ninja-build/ninja/releases/download/v1.10.0/ninja-mac.zip
|
||||
- unzip ninja-mac.zip
|
||||
- sudo cp ninja /usr/local/bin
|
||||
script:
|
||||
- CERT_PATH=$(python3 -m certifi) && export SSL_CERT_FILE=${CERT_PATH} && export REQUESTS_CA_BUNDLE=${CERT_PATH} && meson build
|
||||
- ninja -C build
|
||||
- ninja -C build test
|
||||
|
||||
# msys infrastructure is a bit broken, disable for now
|
||||
meson msys2:
|
||||
extends: '.build meson windows'
|
||||
when: 'manual'
|
||||
allow_failure: true
|
||||
script:
|
||||
# For some reason, options are separated by newline instead of space, so we
|
||||
# have to replace them first.
|
||||
# - $env:MESON_ARGS = $env:MESON_ARGS.replace("`n"," ")
|
||||
t_fedora:rawhide:autotools static libxml2:
|
||||
extends:
|
||||
- .build autotools static libxml2
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:rawhide@container-prep'
|
||||
|
||||
- $env:PATH += ";C:\msys64\usr\bin;C:\msys64\mingw64/bin;C:\msys64\mingw32/bin"
|
||||
# XXX: Copied from https://gitlab.freedesktop.org/gstreamer/gst-ci/blob/master/gitlab/ci_template.yml#L487
|
||||
# For some reason docker build hangs if this is included in the image, needs more troubleshooting
|
||||
- C:\msys64\usr\bin\bash -c "pacman-key --init && pacman-key --populate msys2 && pacman-key --refresh-keys || true"
|
||||
- C:\msys64\usr\bin\bash -c "pacman -Syuu --noconfirm"
|
||||
- C:\msys64\usr\bin\bash -c "pacman -Sy --noconfirm --needed mingw-w64-x86_64-toolchain ninja"
|
||||
- C:\msys64\usr\bin\bash -c "meson build $env:MESON_ARGS &&
|
||||
ninja -C build &&
|
||||
ninja -C build test"
|
||||
|
||||
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'
|
||||
when: 'always'
|
||||
paths:
|
||||
- "build/meson-logs/*.txt"
|
||||
before_script:
|
||||
- dnf install -y python3-pip gcc ninja-build gperf
|
||||
- pip3 install --user meson
|
||||
script:
|
||||
- export PATH="$HOME/.local/bin:$PATH"
|
||||
- |
|
||||
cat > android-cross-file.txt <<EOF
|
||||
[constants]
|
||||
ndk_path = '/android/ndk'
|
||||
toolchain = ndk_path + '/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android'
|
||||
api = '28'
|
||||
t_fedora:rawhide:meson shared:
|
||||
extends:
|
||||
- .build meson shared
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:rawhide@container-prep'
|
||||
|
||||
[host_machine]
|
||||
system = 'android'
|
||||
cpu_family = 'aarch64'
|
||||
cpu = 'aarch64'
|
||||
endian = 'little'
|
||||
|
||||
[properties]
|
||||
sys_root = ndk_path + '/sysroot'
|
||||
c_args = ['-Wno-pointer-bool-conversion']
|
||||
c_link_args = ['-fuse-ld=gold']
|
||||
cpp_link_args = ['-fuse-ld=gold']
|
||||
t_fedora:rawhide:meson static:
|
||||
extends:
|
||||
- .build meson static
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: 'rawhide'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:rawhide@container-prep'
|
||||
|
||||
|
||||
t_fedora:38:autotools shared expat:
|
||||
extends:
|
||||
- .build autotools shared expat
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '38'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:38@container-prep'
|
||||
|
||||
|
||||
t_fedora:38:autotools shared libxml2:
|
||||
extends:
|
||||
- .build autotools shared libxml2
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '38'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:38@container-prep'
|
||||
|
||||
|
||||
t_fedora:38:autotools static expat:
|
||||
extends:
|
||||
- .build autotools static expat
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '38'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:38@container-prep'
|
||||
|
||||
|
||||
t_fedora:38:autotools static libxml2:
|
||||
extends:
|
||||
- .build autotools static libxml2
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '38'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:38@container-prep'
|
||||
|
||||
|
||||
t_fedora:38:meson shared:
|
||||
extends:
|
||||
- .build meson shared
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '38'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:38@container-prep'
|
||||
|
||||
|
||||
t_fedora:38:meson static:
|
||||
extends:
|
||||
- .build meson static
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '38'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:38@container-prep'
|
||||
|
||||
|
||||
t_fedora:37:autotools shared expat:
|
||||
extends:
|
||||
- .build autotools shared expat
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '37'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:37@container-prep'
|
||||
|
||||
|
||||
t_fedora:37:autotools shared libxml2:
|
||||
extends:
|
||||
- .build autotools shared libxml2
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '37'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:37@container-prep'
|
||||
|
||||
|
||||
t_fedora:37:autotools static expat:
|
||||
extends:
|
||||
- .build autotools static expat
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '37'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:37@container-prep'
|
||||
|
||||
|
||||
t_fedora:37:autotools static libxml2:
|
||||
extends:
|
||||
- .build autotools static libxml2
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '37'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:37@container-prep'
|
||||
|
||||
|
||||
t_fedora:37:meson shared:
|
||||
extends:
|
||||
- .build meson shared
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '37'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:37@container-prep'
|
||||
|
||||
|
||||
t_fedora:37:meson static:
|
||||
extends:
|
||||
- .build meson static
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '37'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:37@container-prep'
|
||||
|
||||
|
||||
t_fedora:36:autotools shared expat:
|
||||
extends:
|
||||
- .build autotools shared expat
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '36'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:36@container-prep'
|
||||
|
||||
|
||||
t_fedora:36:autotools shared libxml2:
|
||||
extends:
|
||||
- .build autotools shared libxml2
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '36'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:36@container-prep'
|
||||
|
||||
|
||||
t_fedora:36:autotools static expat:
|
||||
extends:
|
||||
- .build autotools static expat
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '36'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:36@container-prep'
|
||||
|
||||
|
||||
t_fedora:36:autotools static libxml2:
|
||||
extends:
|
||||
- .build autotools static libxml2
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '36'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:36@container-prep'
|
||||
|
||||
|
||||
t_fedora:36:meson shared:
|
||||
extends:
|
||||
- .build meson shared
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '36'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:36@container-prep'
|
||||
|
||||
|
||||
t_fedora:36:meson static:
|
||||
extends:
|
||||
- .build meson static
|
||||
- .fdo.distribution-image@fedora
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '36'
|
||||
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||
needs:
|
||||
- 'fedora:36@container-prep'
|
||||
|
||||
[binaries]
|
||||
c = toolchain + api + '-clang'
|
||||
cpp = toolchain + api + '-clang++'
|
||||
ar = toolchain + '-ar'
|
||||
strip = toolchain + '-strip'
|
||||
EOF
|
||||
- meson setup --werror --cross-file android-cross-file.txt build
|
||||
- meson compile --verbose -C build
|
||||
|
|
|
@ -0,0 +1,267 @@
|
|||
# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0 filetype=yaml:
|
||||
|
||||
{# You're looking at the template here, so you can ignore the below
|
||||
warning. This is the right file to edit #}
|
||||
#######################################
|
||||
# #
|
||||
# THIS FILE IS GENERATED, DO NOT EDIT #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
# To change the gitlab CI, edit .gitlab-ci/ci.template and/or .gitlab-ci/config.yml
|
||||
# and run ci-fairy generate-template. For details, see
|
||||
# https://freedesktop.pages.freedesktop.org/ci-templates/ci-fairy.html#templating-gitlab-ci-yml
|
||||
|
||||
.templates_sha: &template_sha dd90ac0d7a03b574eb4f18d7358083f0c97825f3
|
||||
|
||||
include:
|
||||
{% for distro in distributions|sort(attribute="name") %}
|
||||
# {{ distro.name.capitalize() }} container builder template
|
||||
- project: 'freedesktop/ci-templates'
|
||||
ref: *template_sha
|
||||
file: '/templates/{{distro.name}}.yml'
|
||||
{% endfor %}
|
||||
- project: 'freedesktop/ci-templates'
|
||||
ref: *template_sha
|
||||
file: '/templates/ci-fairy.yml'
|
||||
|
||||
stages:
|
||||
- prep
|
||||
- test
|
||||
- container_clean
|
||||
|
||||
variables:
|
||||
FDO_UPSTREAM_REPO: fontconfig/fontconfig
|
||||
GIT_DEPTH: 1
|
||||
|
||||
# these tags should be updated each time the list of packages is updated
|
||||
# changing these will force rebuilding the associated image
|
||||
# Note: these tags have no meaning and are not tied to a particular
|
||||
# fontconfig version
|
||||
{% for distro in distributions %}
|
||||
{{"%-13s"| format(distro.name.upper() + '_TAG:')}}'{{distro.tag}}-{{
|
||||
(ci_fairy.hashfiles('.gitlab-ci/config.yml',
|
||||
'.gitlab-ci/' + distro.name + '-install.sh'))[0:12]
|
||||
}}'
|
||||
{% endfor %}
|
||||
|
||||
{% for distro in distributions %}
|
||||
{{"%-13s"| format(distro.name.upper() + '_EXEC:')}}'bash .gitlab-ci/{{distro.name}}-install.sh'
|
||||
{% endfor %}
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# containers stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
# Build a container for each distribution + version. The ci-templates
|
||||
# will re-use the containers if the tag doesn't change.
|
||||
{% for distro in distributions %}
|
||||
{% for version in distro.versions %}
|
||||
|
||||
{{distro.name}}:{{version}}@container-prep:
|
||||
extends:
|
||||
- .fdo.container-build@{{distro.name}}
|
||||
stage: prep
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
FDO_DISTRIBUTION_VERSION: '{{version}}'
|
||||
FDO_DISTRIBUTION_PACKAGES: '{{' '.join(packages[distro.name].needed)}}'
|
||||
FDO_DISTRIBUTION_TAG: ${{distro.name.upper()}}_TAG
|
||||
FDO_DISTRIBUTION_EXEC: ${{distro.name.upper()}}_EXEC
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# container clean stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
#
|
||||
# This stage will look for the container images e currently have in
|
||||
# the registry and will remove any that are not tagged with the provided
|
||||
# $container_image:$tag
|
||||
#
|
||||
# This job only runs for a scheduled pipeline.
|
||||
#
|
||||
# Go to your Profile, Settings, Access Tokens
|
||||
# Create a personal token with `api' scope, copy the value.
|
||||
# Go to CI/CD, Schedules, schedule a monthly job.
|
||||
# Define a variable of type File named AUTHFILE. Content is that token
|
||||
# value.
|
||||
.container-clean:
|
||||
stage: container_clean
|
||||
image: golang:alpine
|
||||
before_script:
|
||||
- apk add python3 py-pip git
|
||||
- pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates
|
||||
script:
|
||||
- ci-fairy -v --authfile $AUTHFILE delete-image
|
||||
--repository $FDO_DISTRIBUTION_NAME/$FDO_DISTRIBUTION_VERSION
|
||||
--exclude-tag $FDO_DISTRIBUTION_TAG
|
||||
dependencies: []
|
||||
allow_failure: true
|
||||
only:
|
||||
- schedules
|
||||
|
||||
{% for distro in distributions %}
|
||||
{% for version in distro.versions %}
|
||||
{{distro.name}}:{{version}}@container-clean:
|
||||
extends:
|
||||
- .container-clean
|
||||
variables:
|
||||
GIT_STRATEGY: none
|
||||
CURRENT_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/{{distro.name}}/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG
|
||||
FDO_DISTRIBUTION_VERSION: '{{version}}'
|
||||
FDO_DISTRIBUTION_TAG: ${{distro.name.upper()}}_TAG
|
||||
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# build stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
.build autotools shared expat:
|
||||
stage: test
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- mkdir "$BUILDDIR" "$PREFIX"
|
||||
- cd "$BUILDDIR"
|
||||
- env
|
||||
- r=0
|
||||
- ../autogen.sh --prefix="$PREFIX" --enable-shared --disable-static --disable-libxml2 2>&1 | tee /tmp/fc-build.log || r=$?
|
||||
- make install V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
- make distcheck V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
- mv /tmp/fc-build.log .
|
||||
- exit $r
|
||||
.build autotools shared libxml2:
|
||||
stage: test
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- mkdir "$BUILDDIR" "$PREFIX"
|
||||
- cd "$BUILDDIR"
|
||||
- env
|
||||
- r=0
|
||||
- ../autogen.sh --prefix="$PREFIX" --enable-shared --disable-static --enable-libxml2 2>&1 | tee /tmp/fc-build.log || r=$?
|
||||
- make install V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
- make distcheck V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
- mv /tmp/fc-build.log .
|
||||
- exit $r
|
||||
.build autotools static expat:
|
||||
stage: test
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- mkdir "$BUILDDIR" "$PREFIX"
|
||||
- cd "$BUILDDIR"
|
||||
- env
|
||||
- r=0
|
||||
- ../autogen.sh --prefix="$PREFIX" --disable-shared --enable-static --disable-libxml2 2>&1 | tee /tmp/fc-build.log || r=$?
|
||||
- make check V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
- make install V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
- mv /tmp/fc-build.log .
|
||||
- exit $r
|
||||
.build autotools static libxml2:
|
||||
stage: test
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- mkdir "$BUILDDIR" "$PREFIX"
|
||||
- cd "$BUILDDIR"
|
||||
- env
|
||||
- r=0
|
||||
- ../autogen.sh --prefix="$PREFIX" --disable-shared --enable-static --enable-libxml2 2>&1 | tee /tmp/fc-build.log || r=$?
|
||||
- make check V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
- make install V=1 2>&1 | tee -a /tmp/fc-build.log || r=$?
|
||||
- mv /tmp/fc-build.log .
|
||||
- exit $r
|
||||
.build meson shared:
|
||||
stage: test
|
||||
before_script:
|
||||
- pip install meson
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- env
|
||||
- r=0
|
||||
- meson --prefix="$PREFIX" --default-library=shared "$BUILDDIR" 2>&1 | tee /tmp/fc-build.log || r=$?
|
||||
- meson compile -v -C "$BUILDDIR" | tee -a /tmp/fc-build.log || r=$?
|
||||
- meson test -v -C "$BUILDDIR" | tee -a /tmp/fc-build.log || r=$?
|
||||
- meson install -v -C "$BUILDDIR" | tee -a /tmp/fc-build.log || r=$?
|
||||
- meson dist -v -C "$BUILDDIR" | tee -a /tmp/fc-build.log || r=$?
|
||||
- mv /tmp/fc-build.log .
|
||||
- exit $r
|
||||
.build meson static:
|
||||
stage: test
|
||||
before_script:
|
||||
- pip install meson
|
||||
script:
|
||||
- export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
|
||||
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
|
||||
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
|
||||
- export MAKEFLAGS="-j4"
|
||||
- env
|
||||
- r=0
|
||||
- meson --prefix="$PREFIX" --default-library=static "$BUILDDIR" 2>&1 | tee /tmp/fc-build.log || r=$?
|
||||
- meson compile -v -C "$BUILDDIR" | tee -a /tmp/fc-build.log || r=$?
|
||||
- meson test -v -C "$BUILDDIR" | tee -a /tmp/fc-build.log || r=$?
|
||||
- meson install -v -C "$BUILDDIR" | tee -a /tmp/fc-build.log || r=$?
|
||||
- mv /tmp/fc-build.log .
|
||||
- exit $r
|
||||
.fc_artifacts:
|
||||
artifacts:
|
||||
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
|
||||
when: always
|
||||
expire_in: 5 days
|
||||
paths:
|
||||
- fc-build.log
|
||||
- build-*/fontconfig-*.tar.*
|
||||
- build-*/fontconfig*/_build
|
||||
|
||||
#######################################
|
||||
# #
|
||||
# test stage #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
{% for distro in distributions %}
|
||||
{% for version in distro.versions %}
|
||||
{% for bs in distro.buildsys %}
|
||||
|
||||
t_{{distro.name}}:{{version}}:{{bs}}:
|
||||
extends:
|
||||
- .build {{bs}}
|
||||
- .fdo.distribution-image@{{distro.name}}
|
||||
- .fc_artifacts
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: '{{version}}'
|
||||
FDO_DISTRIBUTION_TAG: ${{distro.name.upper()}}_TAG
|
||||
{# Where we have extra_variables defined, add them to the list #}
|
||||
{% if distro.build is defined and distro.build.extra_variables is defined %}
|
||||
{% for var in distro.build.extra_variables %}
|
||||
{{var}}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
needs:
|
||||
- '{{distro.name}}:{{version}}@container-prep'
|
||||
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
|
@ -0,0 +1,43 @@
|
|||
.default_tag: &default_tag "2023-03-31.0"
|
||||
|
||||
distributions:
|
||||
- name: fedora
|
||||
tag: *default_tag
|
||||
base_type: fedora
|
||||
versions:
|
||||
- "rawhide"
|
||||
- "38"
|
||||
- "37"
|
||||
- "36"
|
||||
buildsys:
|
||||
- "autotools shared expat"
|
||||
- "autotools shared libxml2"
|
||||
- "autotools static expat"
|
||||
- "autotools static libxml2"
|
||||
- "meson shared"
|
||||
- "meson static"
|
||||
|
||||
packages:
|
||||
fedora:
|
||||
needed:
|
||||
[
|
||||
"@buildsys-build",
|
||||
"autoconf",
|
||||
"automake",
|
||||
"libtool",
|
||||
"gettext",
|
||||
"gettext-devel",
|
||||
"gperf",
|
||||
"expat-devel",
|
||||
"libxml2-devel",
|
||||
"freetype-devel",
|
||||
"json-c-devel",
|
||||
"git",
|
||||
"docbook-utils",
|
||||
"docbook-utils-pdf",
|
||||
"bubblewrap",
|
||||
"ninja-build",
|
||||
"wget",
|
||||
"python3-pip",
|
||||
]
|
||||
use_qemu: false
|
|
@ -0,0 +1,3 @@
|
|||
#! /bin/bash
|
||||
|
||||
set -ex
|
Loading…
Reference in New Issue