summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 3700fbd1864a58f5fa452f458647d8d1a986ffb1 (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
# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0:

include:
  # Arch container builder template
  - project: 'freedesktop/ci-templates'
    ref: 6f86b8bcb0cd5168c32779c4fea9a893c4a0c046
    file:
      - '/templates/arch.yml'

# global variables to be used by most/all jobs.
variables:
  FDO_UPSTREAM_REPO: 'xorg/proto/xorgproto'
  # 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-01-21.1'

stages:
  - prep
  - check
  - build
  - test

container-prep:
  extends:
    - .fdo.container-build@arch
  stage: prep
  variables:
    GIT_STRATEGY: none
    # minimal set of packages required to build and install
    BASE_PACKAGES: 'meson ninja gcc'
    # extra packages we need for various tests
    EXTRA_PACKAGES: 'git libevdev python python-libevdev python-black'
    FDO_DISTRIBUTION_PACKAGES: $BASE_PACKAGES $EXTRA_PACKAGES

meson:
  extends:
    - .fdo.distribution-image@arch
  stage: build
  parallel:
    matrix:
      - MESON_OPTIONS: ['', '-Dlegacy=true']
  script:
    - mkdir -p ../_inst
    - meson builddir --prefix="$PWD/../_inst" $MESON_OPTIONS
    - meson configure builddir
    - ninja -C builddir test
    - ninja -C builddir install

check evdev keysyms:
  extends:
    - .fdo.distribution-image@arch
  stage: test
  script:
    - ./scripts/keysym-generator.py --header=include/X11/XF86keysym.h verify

check formatting:
  extends:
    - .fdo.distribution-image@arch
  stage: check
  script:
    - black scripts/keysym-generator.py
    - git diff --exit-code || (echo "Please run Black against the Python script" && false)
  only:
    changes:
      - scripts/keysym-generator.py