summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 464af3fe0184e3cd5996200bb02c3f04ec632660 (plain)
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
# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0 filetype=yaml:
#
# This CI uses the freedesktop.org ci-templates.
# Please see the ci-templates documentation for details:
# https://freedesktop.pages.freedesktop.org/ci-templates/

.templates_sha: &templates_sha 567700e483aabed992d0a4fea84994a0472deff6

include:
  # Fedora container builder template
  - project: 'freedesktop/ci-templates'
    ref: *templates_sha
    file:
      - 'templates/fedora.yml'
  - project: 'freedesktop/ci-templates'
    ref: *templates_sha
    file: '/templates/ci-fairy.yml'
  - template: Security/SAST.gitlab-ci.yml

# global variables to be used by most/all jobs.
variables:
  FDO_UPSTREAM_REPO: 'xorg/app/fonttosfnt'
  FDO_DISTRIBUTION_VERSION: 34
  # Changing the tag will rebuild the container images. The value is just a
  # string, but we use the date for human benefits.
  FDO_DISTRIBUTION_TAG: '2021-08-20.0'

stages:
  - prep
  - build
  - test

#
# Verify that commit messages are as expected
#
check-commits:
  extends:
    - .fdo.ci-fairy
  stage: prep
  script:
    - ci-fairy check-commits --junit-xml=results.xml
  except:
    - master@xorg/proto/xcbproto
  variables:
    GIT_DEPTH: 100
  artifacts:
    reports:
      junit: results.xml
  allow_failure: true

#
# Verify that the merge request has the allow-collaboration checkbox ticked
#
check-merge-request:
  extends:
    - .fdo.ci-fairy
  stage: test
  script:
    - ci-fairy check-merge-request --require-allow-collaboration --junit-xml=results.xml
  artifacts:
    when: on_failure
    reports:
      junit: results.xml
  allow_failure: true


#
# Build a container with the given tag and the packages pre-installed.
# This only happens if/when the tag changes, otherwise the existing image is
# re-used.
#
container-prep:
  extends:
    - .fdo.container-build@fedora
  stage: prep
  variables:
    GIT_STRATEGY: none
    # minimal set of packages required to build and install
    BASE_PACKAGES: 'pkgconf autoconf automake make gcc libtool freetype-devel libX11-devel libfontenc-devel xorg-x11-util-macros bitmap-console-fonts'
    # extra packages we need for various tests
    EXTRA_PACKAGES: ''
    FDO_DISTRIBUTION_PACKAGES: $BASE_PACKAGES $EXTRA_PACKAGES

autotools:
  extends:
    - .fdo.distribution-image@fedora
  stage: build
  script:
    - mkdir -p ../_inst
    - autoreconf -vif
    - ./configure --prefix="$PWD/../_inst" $CONFIGURE_OPTIONS
    - make
    - make check
    - cp /usr/share/fonts/bitmap/console8x16.pcf.gz .
    - gunzip console8x16.pcf.gz
    - ./fonttosfnt -b -c -g 2 -m 2 -o console8x16.otb console8x16.pcf
    - make install