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

before_script:
 - yum install -y git make bison autoconf libtool automake gettext-devel glibc-devel gcc valgrind clang libasan-static libubsan

# See http://doc.gitlab.com/ce/ci/yaml/ for documentation.
Build and Check (x86-64):
  script:
  - git submodule update --init && make autoreconf && ./configure --disable-doc && make -j4 && make -j4 check
  except:
  - tags
  tags:
  - shared
Build and Check (x86):
  script:
  - yum install -y libgcc.i686 glibc-devel.i686
  - git submodule update --init && make autoreconf &&
    PKG_CONFIG_PATH="/usr/lib/pkgconfig/" CFLAGS="-O2 -g -m32" LDFLAGS="-m32" ./configure --build=i686-redhat-linux --target=i686-redhat-linux --disable-doc && make -j4 && make -j4 check
  except:
  - tags
  tags:
  - shared
Build and Check with clang:
  script:
  - git submodule update --init && make autoreconf && CC=clang 
    ./configure --disable-doc --disable-valgrind-tests && make -j4 && make check -j4
  except:
  - tags
  tags:
  - shared
Build and Check with asan:
  script:
  - git submodule update --init && make autoreconf && CFLAGS="-fsanitize=address -g
    -O2" LDFLAGS="-static-libasan" ./configure --disable-doc --disable-valgrind-tests && make -j4 && make check -j4
  except:
  - tags
  tags:
  - shared
Build and Check with ubsan:
  image: fedora:24
  script:
  - yum install -y git make autoconf libtool automake gettext-devel glibc-devel gcc valgrind clang libasan-static libubsan
  - git submodule update --init && make autoreconf && CFLAGS="-fsanitize=undefined -fno-sanitize-recover -g
    -O2" ./configure --disable-doc --disable-valgrind-tests && make -j4 && make check -j4
  tags:
  - shared
  except:
  - tags
MinGW32:
  image: fedora:24
  script:
  - dnf install -y wine.i686 mingw32-gcc util-linux
  - mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
  - echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register
  - make autoreconf && rm -f tests/suite/mini-eagain2.c && mkdir -p build && cd build &&
    mingw32-configure --disable-doc --disable-valgrind-tests &&
    mingw32-make -j$(nproc) && mingw32-make -C tests check -j$(nproc)
  tags:
  - shared
  - docker
  except:
  - tags
  artifacts:
    expire_in: 1 week
    when: on_failure
    paths:
      - build/*.log
      - build/tests/*.log
      - build/tests/*/*.log