fontconfig/.gitlab-ci.yml

597 lines
16 KiB
YAML
Raw Normal View History

# 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 d11c0dd4c1c9a69c14b4af9b50cdd12b89d24672
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'
2023-04-06 09:46:54 +02:00
- local: '.gitlab-ci/other.yml'
2018-08-29 09:18:14 +02:00
stages:
- prep
- test
- container_clean
variables:
FDO_UPSTREAM_REPO: fontconfig/fontconfig
GIT_DEPTH: 1
2018-08-29 09:18:14 +02:00
# 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-12-05.0-e56dbdc02823'
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:
2023-04-06 09:46:54 +02:00
extends: .fdo.container-build@fedora
stage: prep
variables:
GIT_STRATEGY: none
FDO_DISTRIBUTION_VERSION: 'rawhide'
2023-04-06 09:46:54 +02:00
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 mingw64-gettext mingw64-freetype mingw64-libxml2 wine'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC
2018-08-29 09:18:14 +02:00
fedora:39@container-prep:
2023-04-06 09:46:54 +02:00
extends: .fdo.container-build@fedora
stage: prep
variables:
GIT_STRATEGY: none
FDO_DISTRIBUTION_VERSION: '39'
2023-04-06 09:46:54 +02:00
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 mingw64-gettext mingw64-freetype mingw64-libxml2 wine'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
FDO_DISTRIBUTION_EXEC: $FEDORA_EXEC
fedora:38@container-prep:
2023-04-06 09:46:54 +02:00
extends: .fdo.container-build@fedora
stage: prep
variables:
GIT_STRATEGY: none
FDO_DISTRIBUTION_VERSION: '38'
2023-04-06 09:46:54 +02:00
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 mingw64-gettext mingw64-freetype mingw64-libxml2 wine'
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
2023-03-31 16:27:21 +02:00
--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:39@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: '39'
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
#######################################
# #
# build stage #
# #
#######################################
2023-04-06 09:46:54 +02:00
.build@template:
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"
2023-04-06 09:46:54 +02:00
- |
buildopt=()
for bo in $FC_BUILD_ENABLED; do
buildopt+=(-e $bo)
done
for bo in $FC_BUILD_DISABLED; do
buildopt+=(-d $bo)
done
[ -n "$FC_BUILD_ARCH" ] && buildopt+=(-a $FC_BUILD_ARCH)
[ $FC_BUILD_DISTCHECK -eq 1 ] && buildopt+=(-c)
[ $FC_BUILD_NO_INSTALL -eq 1 ] && buildopt+=(-I)
buildopt+=(-s $FC_BUILDSYS)
buildopt+=(-t $FC_BUILD_TYPE)
buildopt+=(-X $FC_XML_BACKEND)
sh .gitlab-ci/build.sh ${buildopt[*]}
variables:
FC_BUILDSYS: autotools
FC_XML_BACKEND: expat
FC_BUILD_TYPE: both
FC_BUILD_DISTCHECK: 0
FC_BUILD_NO_INSTALL: 0
.fc_artifacts:
2022-10-28 11:39:31 +02:00
artifacts:
name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID
when: always
expire_in: 5 days
2022-10-28 11:39:31 +02:00
paths:
- fc-build.log
- build-*/fontconfig-*.tar.*
- build-*/fontconfig*/_build
#######################################
# #
# test stage #
# #
#######################################
t_fedora:rawhide:autotools shared expat:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: 'rawhide'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: autotools
FC_BUILD_TYPE: shared
FC_XML_BACKEND: expat
needs:
- 'fedora:rawhide@container-prep'
t_fedora:rawhide:autotools shared libxml2:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: 'rawhide'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: autotools
FC_BUILD_TYPE: shared
FC_XML_BACKEND: libxml2
FC_BUILD_DISTCHECK: 1
needs:
- 'fedora:rawhide@container-prep'
t_fedora:rawhide:autotools static expat:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: 'rawhide'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: autotools
FC_BUILD_TYPE: static
FC_XML_BACKEND: expat
needs:
- 'fedora:rawhide@container-prep'
t_fedora:rawhide:autotools static libxml2:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: 'rawhide'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: autotools
FC_BUILD_TYPE: static
FC_XML_BACKEND: libxml2
needs:
- 'fedora:rawhide@container-prep'
2023-04-06 09:46:54 +02:00
t_fedora:rawhide:mingw autotools static libxml2:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: 'rawhide'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: autotools
FC_BUILD_TYPE: static
FC_XML_BACKEND: libxml2
FC_BUILD_PLATFORM: mingw
FC_BUILD_ARCH: x86_64-mingw32
needs:
- 'fedora:rawhide@container-prep'
2023-04-06 09:46:54 +02:00
t_fedora:rawhide:meson shared expat:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: 'rawhide'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: meson
FC_BUILD_TYPE: shared
FC_XML_BACKEND: expat
needs:
- 'fedora:rawhide@container-prep'
2023-04-06 09:46:54 +02:00
t_fedora:rawhide:meson static expat:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: 'rawhide'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: meson
FC_BUILD_TYPE: static
FC_XML_BACKEND: expat
needs:
2023-04-06 09:46:54 +02:00
- 'fedora:rawhide@container-prep'
2023-04-06 09:46:54 +02:00
t_fedora:rawhide:mingw meson static expat:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: 'rawhide'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: meson
FC_BUILD_TYPE: static
FC_XML_BACKEND: expat
FC_BUILD_PLATFORM: mingw
FC_BUILD_ARCH: linux-mingw-w64-64bit
FC_BUILD_NO_INSTALL: 1
needs:
2023-04-06 09:46:54 +02:00
- 'fedora:rawhide@container-prep'
t_fedora:39:autotools shared expat:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: '39'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: autotools
FC_BUILD_TYPE: shared
FC_XML_BACKEND: expat
needs:
- 'fedora:39@container-prep'
t_fedora:39:autotools shared libxml2:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: '39'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: autotools
FC_BUILD_TYPE: shared
FC_XML_BACKEND: libxml2
FC_BUILD_DISTCHECK: 1
needs:
- 'fedora:39@container-prep'
t_fedora:39:autotools static expat:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: '39'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: autotools
FC_BUILD_TYPE: static
FC_XML_BACKEND: expat
needs:
- 'fedora:39@container-prep'
t_fedora:39:autotools static libxml2:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: '39'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: autotools
FC_BUILD_TYPE: static
FC_XML_BACKEND: libxml2
needs:
- 'fedora:39@container-prep'
t_fedora:39:mingw autotools static libxml2:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: '39'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: autotools
FC_BUILD_TYPE: static
FC_XML_BACKEND: libxml2
FC_BUILD_PLATFORM: mingw
FC_BUILD_ARCH: x86_64-mingw32
needs:
- 'fedora:39@container-prep'
t_fedora:39:meson shared expat:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: '39'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: meson
FC_BUILD_TYPE: shared
FC_XML_BACKEND: expat
needs:
- 'fedora:39@container-prep'
t_fedora:39:meson static expat:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: '39'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: meson
FC_BUILD_TYPE: static
FC_XML_BACKEND: expat
needs:
- 'fedora:39@container-prep'
t_fedora:39:mingw meson static expat:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: '39'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: meson
FC_BUILD_TYPE: static
FC_XML_BACKEND: expat
FC_BUILD_PLATFORM: mingw
FC_BUILD_ARCH: linux-mingw-w64-64bit
FC_BUILD_NO_INSTALL: 1
needs:
- 'fedora:39@container-prep'
t_fedora:38:autotools shared expat:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: '38'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: autotools
FC_BUILD_TYPE: shared
FC_XML_BACKEND: expat
needs:
- 'fedora:38@container-prep'
t_fedora:38:autotools shared libxml2:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: '38'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: autotools
FC_BUILD_TYPE: shared
FC_XML_BACKEND: libxml2
FC_BUILD_DISTCHECK: 1
needs:
- 'fedora:38@container-prep'
t_fedora:38:autotools static expat:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: '38'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: autotools
FC_BUILD_TYPE: static
FC_XML_BACKEND: expat
needs:
- 'fedora:38@container-prep'
t_fedora:38:autotools static libxml2:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: '38'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: autotools
FC_BUILD_TYPE: static
FC_XML_BACKEND: libxml2
needs:
- 'fedora:38@container-prep'
t_fedora:38:mingw autotools static libxml2:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: '38'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: autotools
FC_BUILD_TYPE: static
FC_XML_BACKEND: libxml2
FC_BUILD_PLATFORM: mingw
FC_BUILD_ARCH: x86_64-mingw32
needs:
- 'fedora:38@container-prep'
t_fedora:38:meson shared expat:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: '38'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: meson
FC_BUILD_TYPE: shared
FC_XML_BACKEND: expat
needs:
- 'fedora:38@container-prep'
t_fedora:38:meson static expat:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: '38'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: meson
FC_BUILD_TYPE: static
FC_XML_BACKEND: expat
needs:
- 'fedora:38@container-prep'
t_fedora:38:mingw meson static expat:
extends:
2023-04-06 09:46:54 +02:00
- .build@template
- .fdo.distribution-image@fedora
- .fc_artifacts
variables:
2023-04-06 09:46:54 +02:00
FC_DISTRO_NAME: fedora
FDO_DISTRIBUTION_VERSION: '38'
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
2023-04-06 09:46:54 +02:00
FC_BUILDSYS: meson
FC_BUILD_TYPE: static
FC_XML_BACKEND: expat
FC_BUILD_PLATFORM: mingw
FC_BUILD_ARCH: linux-mingw-w64-64bit
FC_BUILD_NO_INSTALL: 1
needs:
- 'fedora:38@container-prep'
2023-04-06 09:46:54 +02:00