summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 52f41c74e54e1a322aa0cb158bd02a2c61c88fa2 (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
variables:
  BUILD_IMAGES_PROJECT: gnutls/build-images
  FEDORA_BUILD: buildenv-f28
  FEDORA_X86_BUILD: buildenv-f28-x86
  GET_SOURCES_ATTEMPTS: "3"

# remove any pre-installed headers from nettle
before_script:
 - yum remove -y nettle-devel

# See http://doc.gitlab.com/ce/ci/yaml/ for documentation.
build/x86-64:
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
  script:
  - ./.bootstrap &&
    ./configure --disable-static --enable-fat --disable-documentation && make -j4 &&
    make check -j4
  tags:
  - shared
  except:
  - tags
build/x86:
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_X86_BUILD
  script:
  - ./.bootstrap &&
    PKG_CONFIG_PATH="/usr/lib/pkgconfig/" CFLAGS="-O2 -g -m32" LDFLAGS="-m32" ./configure --build=i686-redhat-linux --enable-fat --disable-documentation && make -j4 &&
    make check -j4
  tags:
  - shared
  except:
  - tags
build/aarch64:
  before_script:
  - /bin/true
  script:
  - ./.bootstrap &&
    ./configure --enable-fat --disable-documentation && make -j4 &&
    make check -j4
  tags:
  - aarch64
  only:
  - branches@gnutls/nettle
  except:
  - tags
build/mini-gmp:
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
  script:
  - ./.bootstrap &&
    ./configure --disable-documentation --enable-mini-gmp && make -j4 &&
    make check -j4
  tags:
  - shared
  except:
  - tags
build/ubsan:
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
  script:
  - ./.bootstrap && 
    CXXFLAGS="-fsanitize=undefined -fno-sanitize-recover -g -O2" CFLAGS="-fsanitize=undefined -fno-sanitize-recover -g -O2" ./configure 
    --disable-documentation && make -j4 && make check -j4
  tags:
  - shared
  except:
  - tags
build/asan:
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
  script:
  - ./.bootstrap && 
  - CXXFLAGS="-fsanitize=address -g -O2" CFLAGS="-fsanitize=address -g -O2" ./configure --disable-documentation &&
    make -j4 && make check -j4
  tags:
  - shared
  except:
  - tags
build/static-analyzers:
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
  script:
  - ./.bootstrap
  - scan-build ./configure --disable-documentation
  - scan-build --status-bugs -o scan-build-lib make -j$(nproc)
  tags:
  - shared
  except:
  - tags
  artifacts:
    expire_in: 1 week
    when: on_failure
    paths:
      - scan-build-lib/*
build/gnutls:
  image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
  script:
  - ./.bootstrap &&
  - ./configure --disable-documentation --prefix=/usr --libdir=/usr/lib64 &&
    make -j4 && make install
  - git clone --depth 1 --branch master https://gitlab.com/gnutls/gnutls.git gnutls-git
  - cd gnutls-git && git submodule update --init && make autoreconf &&
    ./configure --disable-cxx --disable-guile --disable-doc && make -j$(nproc) &&
    make -j $(nproc) check
  tags:
  - shared
  except:
  - tags
  artifacts:
    expire_in: 1 week
    when: on_failure
    paths:
      - gnutls-git/guile/tests/*.log
      - gnutls-git/tests/*.log
      - gnutls-git/*.log
      - gnutls-git/tests/*/*.log
      - gnutls-git/tests/suite/*/*.log