summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 377d9d538887ce67c1294f8d10ffdd28e85696ca (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
image: centos:7

Build and Check - with SSL 3.0/ARCFOUR:
  script:
  - yum install -y git autoconf libtool gettext-devel automake autogen nettle-devel p11-kit-devel autogen-libopts-devel trousers-devel guile-devel libtasn1-devel libidn-devel gawk gperf git2cl libtasn1-tools unbound-devel bison help2man xz net-tools
  - yum install -y clang libseccomp-devel nodejs softhsm datefudge lcov openssl-devel dieharder mbedtls-utils openssl libcmocka-devel socat xz ppp abi-compliance-checker valgrind
  - make autoreconf && mkdir -p build && cd build &&
    ../configure --with-ssl3 --with-arcfour128 --disable-non-suiteb-curves --enable-seccomp-tests --disable-doc --disable-valgrind-tests &&
    make -j4 && make check -j4
  tags:
  - shared
  except:
  - tags
  artifacts:
    expire_in: 1 week
    when: on_failure
    paths:
      - build/guile/tests/*.log
      - build/tests/*.log
      - build/tests/*/*.log

Build and Check in FIPS140-2 mode:
  script:
  - yum install -y git autoconf libtool gettext-devel automake autogen nettle-devel p11-kit-devel autogen-libopts-devel trousers-devel guile-devel libtasn1-devel libidn-devel gawk gperf git2cl libtasn1-tools unbound-devel bison help2man xz net-tools
  - yum install -y clang libseccomp-devel nodejs softhsm datefudge lcov openssl-devel dieharder mbedtls-utils openssl libcmocka-devel socat xz ppp abi-compliance-checker valgrind
  - make autoreconf && mkdir -p build && cd build &&
    ../configure --disable-non-suiteb-curves --enable-fips140-mode --disable-doc --disable-valgrind-tests &&
    make -j4 && make check -j4
  tags:
  - shared
  except:
  - tags
  artifacts:
    when: on_failure
    paths:
      - guile/tests/*.log
      - build/tests/*.log
      - build/tests/*/*.log

Build and Check with valgrind:
  script:
  - yum install -y git autoconf libtool gettext-devel automake autogen nettle-devel p11-kit-devel autogen-libopts-devel trousers-devel guile-devel libtasn1-devel libidn-devel gawk gperf git2cl libtasn1-tools unbound-devel bison help2man xz net-tools
  - yum install -y clang libseccomp-devel nodejs softhsm datefudge lcov openssl-devel dieharder mbedtls-utils openssl libcmocka-devel socat xz ppp abi-compliance-checker valgrind
  - make autoreconf && rm -f tests/suite/mini-eagain2.c && ./configure
    --disable-non-suiteb-curves --disable-doc && make -j4 && make check -j4 
  tags:
  - shared
  except:
  - tags
  artifacts:
    expire_in: 1 week
    when: on_failure
    paths:
      - tests/*.log
      - tests/*/*.log

# We need a clean 32-bit fedora for testing
Build and Check - separate build dir (x86):
  image: nickcis/fedora-32:23
  script:
  - linux32 yum install -y autoconf libtool gettext-devel automake autogen nettle-devel p11-kit-devel autogen-libopts-devel trousers-devel guile-devel libtasn1-devel libidn-devel gawk gperf git2cl libtasn1-tools unbound-devel bison help2man xz net-tools libseccomp-devel nodejs softhsm datefudge lcov openssl-devel dieharder mbedtls-utils openssl libcmocka-devel socat xz ppp abi-compliance-checker valgrind 
  - make autoreconf && mkdir -p build && cd build &&
    ../configure --build=i686-redhat-linux --target=i686-redhat-linux --disable-cxx --disable-non-suiteb-curves --enable-seccomp-tests --disable-doc --disable-valgrind-tests &&
    make -j4 && make check -j4 
  tags:
  - shared
  except:
  - tags
  artifacts:
    expire_in: 1 week
    when: on_failure
    paths:
      - build/*.log
      - build/tests/*.log
      - build/tests/*/*.log

# Address sanitizer in fedora 24 cannot read suppression files
Build and Check with asan (nettle3):
  image: fedora:23
  script:
  - yum install -y git autoconf libtool gettext-devel automake autogen nettle-devel p11-kit-devel autogen-libopts-devel trousers-devel guile-devel libtasn1-devel libidn-devel gawk gperf git2cl libtasn1-tools unbound-devel bison help2man net-tools
  - yum install -y clang libasan-static nodejs softhsm datefudge lcov openssl-devel libasan dieharder mbedtls-utils openssl libcmocka-devel socat xz ppp
  - make autoreconf && rm -f tests/suite/mini-eagain2.c && CFLAGS="-fsanitize=address -g -O2" LDFLAGS="-static-libasan"
    ./configure --disable-doc --disable-valgrind-tests --disable-non-suiteb-curves --disable-guile &&
    make -j4 && make check -j4
  tags:
  - shared
  except:
  - tags
  artifacts:
    expire_in: 1 week
    when: on_failure
    paths:
      - tests/*.log
      - tests/*/*.log

Build and Check with asan (nettle2):
  script:
  - yum install -y git autoconf libtool gettext-devel automake autogen nettle-devel p11-kit-devel autogen-libopts-devel trousers-devel guile-devel libtasn1-devel libidn-devel gawk gperf git2cl libtasn1-tools unbound-devel bison help2man net-tools
  - yum install -y clang libasan-static nodejs softhsm datefudge lcov openssl-devel libasan dieharder mbedtls-utils openssl libcmocka-devel socat xz ppp
  - make autoreconf && rm -f tests/suite/mini-eagain2.c && CFLAGS="-fsanitize=address -g -O2" LDFLAGS="-static-libasan"
    ./configure --disable-doc --disable-valgrind-tests --disable-non-suiteb-curves --disable-guile &&
    make -j4 && make check -j4
  tags:
  - shared
  except:
  - tags
  artifacts:
    expire_in: 1 week
    when: on_failure
    paths:
      - tests/*.log
      - tests/*/*.log