# 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 81a36b5c5349fd3222036bb3caa0166083a3fd44 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' - local: '.gitlab-ci/other.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 FEDORA_TAG: '2023-07-15.0-029bccad11f1' 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 mingw64-gettext mingw64-freetype mingw64-libxml2 wine' 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 mingw64-gettext mingw64-freetype mingw64-libxml2 wine' 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 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 --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 ####################################### # # # build stage # # # ####################################### .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" - | 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: 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 # # # ####################################### t_fedora:rawhide:autotools shared expat: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: 'rawhide' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: autotools FC_BUILD_TYPE: shared FC_XML_BACKEND: expat needs: - 'fedora:rawhide@container-prep' t_fedora:rawhide:autotools shared libxml2: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: 'rawhide' FDO_DISTRIBUTION_TAG: $FEDORA_TAG 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: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: 'rawhide' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: autotools FC_BUILD_TYPE: static FC_XML_BACKEND: expat needs: - 'fedora:rawhide@container-prep' t_fedora:rawhide:autotools static libxml2: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: 'rawhide' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: autotools FC_BUILD_TYPE: static FC_XML_BACKEND: libxml2 needs: - 'fedora:rawhide@container-prep' t_fedora:rawhide:mingw autotools static libxml2: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: 'rawhide' FDO_DISTRIBUTION_TAG: $FEDORA_TAG 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' t_fedora:rawhide:meson shared expat: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: 'rawhide' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: meson FC_BUILD_TYPE: shared FC_XML_BACKEND: expat needs: - 'fedora:rawhide@container-prep' t_fedora:rawhide:meson static expat: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: 'rawhide' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: meson FC_BUILD_TYPE: static FC_XML_BACKEND: expat needs: - 'fedora:rawhide@container-prep' t_fedora:rawhide:mingw meson static expat: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: 'rawhide' FDO_DISTRIBUTION_TAG: $FEDORA_TAG 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:rawhide@container-prep' t_fedora:38:autotools shared expat: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: '38' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: autotools FC_BUILD_TYPE: shared FC_XML_BACKEND: expat needs: - 'fedora:38@container-prep' t_fedora:38:autotools shared libxml2: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: '38' FDO_DISTRIBUTION_TAG: $FEDORA_TAG 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: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: '38' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: autotools FC_BUILD_TYPE: static FC_XML_BACKEND: expat needs: - 'fedora:38@container-prep' t_fedora:38:autotools static libxml2: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: '38' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: autotools FC_BUILD_TYPE: static FC_XML_BACKEND: libxml2 needs: - 'fedora:38@container-prep' t_fedora:38:mingw autotools static libxml2: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: '38' FDO_DISTRIBUTION_TAG: $FEDORA_TAG 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: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: '38' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: meson FC_BUILD_TYPE: shared FC_XML_BACKEND: expat needs: - 'fedora:38@container-prep' t_fedora:38:meson static expat: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: '38' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: meson FC_BUILD_TYPE: static FC_XML_BACKEND: expat needs: - 'fedora:38@container-prep' t_fedora:38:mingw meson static expat: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: '38' FDO_DISTRIBUTION_TAG: $FEDORA_TAG 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' t_fedora:37:autotools shared expat: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: '37' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: autotools FC_BUILD_TYPE: shared FC_XML_BACKEND: expat needs: - 'fedora:37@container-prep' t_fedora:37:autotools shared libxml2: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: '37' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: autotools FC_BUILD_TYPE: shared FC_XML_BACKEND: libxml2 FC_BUILD_DISTCHECK: 1 needs: - 'fedora:37@container-prep' t_fedora:37:autotools static expat: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: '37' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: autotools FC_BUILD_TYPE: static FC_XML_BACKEND: expat needs: - 'fedora:37@container-prep' t_fedora:37:autotools static libxml2: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: '37' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: autotools FC_BUILD_TYPE: static FC_XML_BACKEND: libxml2 needs: - 'fedora:37@container-prep' t_fedora:37:mingw autotools static libxml2: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: '37' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: autotools FC_BUILD_TYPE: static FC_XML_BACKEND: libxml2 FC_BUILD_PLATFORM: mingw FC_BUILD_ARCH: x86_64-mingw32 needs: - 'fedora:37@container-prep' t_fedora:37:meson shared expat: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: '37' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: meson FC_BUILD_TYPE: shared FC_XML_BACKEND: expat needs: - 'fedora:37@container-prep' t_fedora:37:meson static expat: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: '37' FDO_DISTRIBUTION_TAG: $FEDORA_TAG FC_BUILDSYS: meson FC_BUILD_TYPE: static FC_XML_BACKEND: expat needs: - 'fedora:37@container-prep' t_fedora:37:mingw meson static expat: extends: - .build@template - .fdo.distribution-image@fedora - .fc_artifacts variables: FC_DISTRO_NAME: fedora FDO_DISTRIBUTION_VERSION: '37' FDO_DISTRIBUTION_TAG: $FEDORA_TAG 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:37@container-prep'