cfb8: Fix decrypt path
[gd/nettle] / .gitlab-ci.yml
1 variables:
2   BUILD_IMAGES_PROJECT: gnutls/build-images
3   DEBIAN_CROSS_BUILD: buildenv-debian-cross
4   FEDORA_BUILD: buildenv-f29
5   DEBIAN_X86_CROSS_BUILD: buildenv-debian-x86-cross
6   GET_SOURCES_ATTEMPTS: "3"
7
8 # remove any pre-installed headers from nettle
9 before_script:
10  - yum remove -y nettle-devel
11
12 # See http://doc.gitlab.com/ce/ci/yaml/ for documentation.
13 build/x86-64:
14   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
15   script:
16   - ./.bootstrap &&
17     ./configure --disable-static --enable-fat --disable-documentation && make -j4 &&
18     make check -j4
19   tags:
20   - shared
21   except:
22   - tags
23 build/mini-gmp:
24   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
25   script:
26   - ./.bootstrap &&
27     ./configure --disable-documentation --enable-mini-gmp && make -j4 &&
28     make check -j4
29   tags:
30   - shared
31   except:
32   - tags
33 build/c89:
34   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
35   script:
36   - ./.bootstrap &&
37     ./configure CC='gcc -std=c89' --disable-static --disable-assembler --disable-documentation && make -j4 &&
38     make check -j4
39   tags:
40   - shared
41   except:
42   - tags
43 build/ndebug:
44   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
45   script:
46   - ./.bootstrap &&
47     ./configure CPPFLAGS='-DNDEBUG' --disable-static --disable-assembler --disable-documentation && make -j4 &&
48     make check -j4
49   tags:
50   - shared
51   except:
52   - tags
53 build/ubsan:
54   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
55   script:
56   - ./.bootstrap && 
57     CXXFLAGS="-fsanitize=undefined -fno-sanitize-recover -g -O2" CFLAGS="-fsanitize=undefined -fno-sanitize-recover -g -O2" ./configure 
58     --disable-documentation && make -j4 && make check -j4
59   tags:
60   - shared
61   except:
62   - tags
63 build/asan:
64   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
65   script:
66   - ./.bootstrap && 
67   - CXXFLAGS="-fsanitize=address -g -O2" CFLAGS="-fsanitize=address -g -O2" ./configure --disable-documentation &&
68     make -j4 && make check -j4
69   tags:
70   - shared
71   except:
72   - tags
73 build/static-analyzers:
74   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
75   script:
76   - ./.bootstrap
77   - scan-build ./configure --disable-documentation
78   - scan-build --status-bugs -o scan-build-lib make -j$(nproc)
79   tags:
80   - shared
81   except:
82   - tags
83   artifacts:
84     expire_in: 1 week
85     when: on_failure
86     paths:
87       - scan-build-lib/*
88 build/gnutls:
89   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
90   script:
91   - ./.bootstrap &&
92   - ./configure --disable-documentation --prefix=/usr --libdir=/usr/lib64 &&
93     make -j4 && make install
94   - git clone --depth 1 --branch master https://gitlab.com/gnutls/gnutls.git gnutls-git
95   - cd gnutls-git && git submodule update --init && ./bootstrap &&
96     ./configure --disable-cxx --disable-guile --disable-doc && make -j$(nproc) &&
97     make -j $(nproc) check
98   tags:
99   - shared
100   except:
101   - tags
102   artifacts:
103     expire_in: 1 week
104     when: on_failure
105     paths:
106       - gnutls-git/guile/tests/*.log
107       - gnutls-git/tests/*.log
108       - gnutls-git/*.log
109       - gnutls-git/tests/*/*.log
110       - gnutls-git/tests/suite/*/*.log
111 Debian.cross.x86:
112   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_X86_CROSS_BUILD
113   before_script:
114   - apt-get remove -y nettle-dev:i386
115   script:
116   - build=$(dpkg-architecture -qDEB_HOST_GNU_TYPE)
117   - host=i686-linux-gnu
118   - export CC_FOR_BUILD="gcc"
119   - export CC="$host-gcc"
120   - ./.bootstrap &&
121     CFLAGS="-O2 -g" ./configure --build=$build --host=$host --enable-fat --disable-documentation && make -j4 &&
122     make check -j4
123   tags:
124   - shared
125   except:
126   - tags
127 .Debian.cross.template: &Debian_cross_template
128   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$DEBIAN_CROSS_BUILD
129   before_script:
130   # remove any previously installed nettle headers to avoid conflicts
131   - for arch in armhf mips arm64;do apt-get remove -y nettle-dev:$arch;done
132   script:
133   - build=$(dpkg-architecture -qDEB_HOST_GNU_TYPE)
134   - host="${CI_JOB_NAME#*.cross.}"
135   # not setting CC_FOR_BUILD paired with qemu-user/binfmt somehow causes
136   # config.guess to detect the target as the build platform and not activate
137   # cross-compile mode even though --build is given
138   - export CC_FOR_BUILD="gcc"
139   - export CC="$host-gcc"
140   - ./.bootstrap
141   - ./configure --disable-static --enable-fat --disable-documentation --build=$build --host=$host
142   - make -j$(nproc)
143   - make -j$(nproc) check
144   tags:
145   - shared
146   except:
147   - tags
148 Debian.cross.arm-linux-gnueabihf:
149   <<: *Debian_cross_template
150 Debian.cross.mips-linux-gnu:
151   <<: *Debian_cross_template
152 Debian.cross.aarch64-linux-gnu:
153   <<: *Debian_cross_template