summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
blob: a53d60cfd5be27d0b8939d392b97f75c22362d0c (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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
variables:
  MAKEFLAGS: "-j10"
  VERBOSE: 1

.arch-test:
  image: archlinux/base
  before_script:
    - >
      pacman -Syu --needed --noconfirm
      base-devel git
      gpgme libarchive curl
      python
      fakeroot fakechroot
      meson

arch:
  extends: .arch-test
  script:
    - meson build
    - ninja -C build
    - fakechroot meson test -C build

arch-debug:
  extends: .arch-test
  script:
    - meson --buildtype=debug build
    - ninja -C build
    - fakechroot meson test -C build

arch-docs:
  extends: .arch-test
  script:
    - pacman -Syu --needed --noconfirm asciidoc
    - meson -Ddoc=enabled build
    - ninja -C build

arch-autoconf:
  extends: .arch-test
  script:
    - pacman -Syu --needed --noconfirm autoconf-archive
    - autoreconf -i
    - ./configure --enable-warningflags --disable-doc
    - make
    - fakechroot make check

arch-distcheck:
  extends: .arch-test
  script:
    - pacman -Syu --needed --noconfirm autoconf-archive asciidoc
    - autoreconf -i
    - ./configure --enable-warningflags
    - fakechroot make distcheck

arch-clang:
  extends: .arch-test
  script:
    - pacman -Syu --needed --noconfirm clang
    - CC=clang meson build
    - ninja -C build
    - fakechroot meson test -C build

arch-valgrind:
  extends: .arch-test
  script:
    - pacman -Syu --needed --noconfirm valgrind
    - meson build
    - ninja -C build
    - PACTEST_VALGRIND=1 fakechroot meson test -C build

arch-nettle:
  extends: .arch-test
  script:
    - meson -Dcrypto=nettle --buildtype=debug build
    - ninja -C build
    - fakechroot meson test -C build

arch-no-gpg:
  extends: .arch-test
  script:
    - meson -Dgpgme=disabled --buildtype=debug build
    - ninja -C build
    - fakechroot meson test -C build

arch-no-curl:
  extends: .arch-test
  script:
    - meson -Dcurl=disabled --buildtype=debug build
    - ninja -C build
    - fakechroot meson test -C build

arch-no-nls:
  extends: .arch-test
  script:
    - meson -Di18n=false --buildtype=debug build
    - ninja -C build
    - fakechroot meson test -C build

debian:
  image: debian:bullseye
  before_script:
    - apt update
    - >
      apt -y install --no-install-recommends
      git pkg-config meson gcc libtool
      libgpgme-dev libarchive-dev libcurl4-openssl-dev libssl-dev curl
      gettext python3 python3-setuptools dash gawk ca-certificates
      fakeroot fakechroot
  script:
    - meson --buildtype=debug build
    - ninja -C build
    - fakechroot meson test -C build

fedora:
  image: fedora
  before_script:
    - >
      dnf -y install
      git findutils patch sed
      meson gcc libtool
      gpgme-devel libarchive-devel libcurl-devel openssl-devel gettext-devel
      asciidoc python3 dash gawk
      fakeroot fakechroot
      perl-Module-Load-Conditional
  script:
    - meson --buildtype=debug build
    - ninja -C build
    - fakechroot meson test -C build