summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 33c95bd957719feb8f0b6dfd3da5ffeb7ea776ae (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
# Quick syntax check:
# python -c 'import sys, yaml; yaml.dump (yaml.load (sys.stdin), sys.stdout)' <.gitlab-ci.yml

# If things don't seem to work, this can help:
# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/ci/lint

stages:
  - test
  - deploy

.fedora_install: &fedora_install
  before_script:
    - NM_INSTALL="dnf install -y" ./contrib/fedora/REQUIRED_PACKAGES

checkpatch:
  image: fedora:28
  stage: test
  script:
    - dnf install -y git
    - contrib/scripts/checkpatch-feature-branch.sh 2>&1 | tee checkpatch-out.txt
  allow_failure: true
  artifacts:
    when: on_failure
    paths:
      - checkpatch-out.txt

f28_build_default:
  <<: *fedora_install
  image: fedora:28
  stage: test
  script:
    - dnf install -y glibc-langpack-pl
    - locale -a
    - NOCONFIGURE=1 ./autogen.sh
    - mkdir ./build
    - cd ./build
    - ../configure
          --prefix="$PWD/INST"
          --enable-gtk-doc=yes
          --with-systemd-logind=yes
          --enable-more-warnings=error
          --enable-tests=yes
          --with-crypto=gnutls
          --with-libnm-glib=yes
          --with-iwd=yes
          --with-ofono=yes
          --enable-teamdctl=yes
          --with-dhcpcanon=yes
          --with-dhcpcd=yes
          --with-dhclient=yes
          --with-netconfig=/bin/nowhere/netconfig
          --with-resolvconf=/bin/nowhere/resolvconf
          --enable-ifcfg-rh=yes
          --enable-config-plugin-ibft=yes
          --enable-ifupdown=yes
    - make -j 6
    - make install
    - NM_TEST_CLIENT_CHECK_L10N=1 make -j 6 -k check
    - cd ..
    - mv build/INST/share/gtk-doc/html docs-html
  artifacts:
    expire_in: 1 day
    paths:
      - docs-html

f28_rpm_autotools_dbg:
  <<: *fedora_install
  image: fedora:28
  stage: test
  script:
    - ./contrib/fedora/rpm/build_clean.sh -g -w crypto_gnutls -w debug -w iwd -w test

f28_rpm_meson_dbg:
  <<: *fedora_install
  image: fedora:28
  stage: test
  script:
    - ./contrib/fedora/rpm/build_clean.sh -g -w crypto_gnutls -w debug -w iwd -w meson -w test

pages:
  stage: deploy
  dependencies:
    - f28_build_default
  script:
    - mv docs-html public
  artifacts:
    expire_in: 20 days
    paths:
      - public
  only:
    - master