summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 20368a2e27b5eca74813edf2e9a4c393473bbcc1 (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
image: debian:sid

before_script:
  - apt update -qq
  - apt install -qq -y eatmydata
  - eatmydata apt install -qq -y --no-install-recommends
    git ca-certificates
  - eatmydata apt build-dep -qq -y .
  - ./autogen

# Test whether the release can be done.
dist-check:
  stage: test
  script:
    - eatmydata apt install -qq -y --no-install-recommends
      libmodule-build-perl
    - ./configure
    - make distcheck

# Test whether the unit tests pass.
unit-tests:
  stage: test
  script:
    - eatmydata apt install -qq -y --no-install-recommends
      fakeroot gpg cppcheck shellcheck aspell aspell-en codespell i18nspector
      libtest-strict-perl libtest-minimumversion-perl libtest-perl-critic-perl
      libtest-pod-perl libtest-pod-coverage-perl libtest-spelling-perl
      libtest-synopsis-perl
    - ./configure
    - make check TESTSUITEFLAGS=--verbose TEST_PARALLEL=$(nproc)
                 AUTHOR_TESTING=1

# Test whether the unit tests pass on a VPATH build.
vpath-tests:
  stage: test
  script:
    - mkdir -p build-tree
    - cd build-tree
    - ../configure
    - make check TESTSUITEFLAGS=--verbose TEST_PARALLEL=$(nproc)

# Test whether the external functional tests pass.
func-tests:
  stage: test
  script:
    - ./configure
    - make
    - git clone https://git.dpkg.org/git/dpkg/dpkg-tests.git
    - cd dpkg-tests
    - echo "DPKG_SERIES = 1.18.x" >>.pkg-tests.conf
    - echo "DPKG_TESTSUITE_OPTIONS = debug not-root" >>.pkg-tests.conf
    - echo "DPKG_BUILDTREE = $(realpath ..)" >>.pkg-tests.conf
    - ./db-regen
    - eatmydata make test