forked from dabrowne/ADS
-
Notifications
You must be signed in to change notification settings - Fork 6
/
.gitlab-ci.yml
127 lines (113 loc) · 2.27 KB
/
.gitlab-ci.yml
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
stages:
- build
- test:clang-fbsd
- test:clang
- test:gcc
- test:gcc-i386
- test:clang-macOS
cache:
paths:
- apt-cache/
.build-template: &build-template
stage: build
tags:
- docker
image: ${REGISTRY_HOST}/beckhoff/docker-mxe:8187
script:
- $maker CXX=$compiler OS_NAME=$os_name
- $maker CXX=$compiler OS_NAME=$os_name AdsLibTest.bin
- $maker CXX=$compiler OS_NAME=$os_name AdsLibOOITest.bin
- cd example
- $maker CXX=$compiler OS_NAME=$os_name
artifacts:
paths:
- AdsLib-$os_name.a
- AdsLibTest.bin
- AdsLibOOITest.bin
- example/example.bin
build:clang:
<<: *build-template
variables:
compiler: /usr/bin/clang++
os_name: Linux
maker: make
build:clang-fbsd:
<<: *build-template
variables:
compiler: /usr/bin/clang++
os_name: FreeBSD
maker: /usr/local/bin/gmake
tags:
- fbsd
build:clang-macOS:
<<: *build-template
variables:
compiler: /usr/bin/clang++
os_name: Darwin
maker: make
tags:
- macOS
build:gcc:
<<: *build-template
variables:
compiler: /usr/bin/g++
os_name: Linux
maker: make
build:gcc-i386:
<<: *build-template
variables:
compiler: /usr/bin/g++
os_name: i386
maker: make
ci_cxx_flags: -m32
build:mxe:
<<: *build-template
variables:
compiler: /mxe/usr/bin/i686-w64-mingw32.static.posix-g++
os_name: win32
maker: make
.test-linux: &test-linux
tags:
- kvm
- rack
- ubuntu1804
- x86_64
before_script:
- sudo dpkg --add-architecture i386
- sudo apt-get -o dir::cache::archives="apt-cache" update
- sudo apt-get -o dir::cache::archives="apt-cache" install -y libc6:i386 libstdc++6:i386 nmap
script:
- ./tools/90_run_tests.sh
test:clang:
<<: *test-linux
stage: test:clang
dependencies:
- build:clang
test:gcc:
<<: *test-linux
stage: test:gcc
dependencies:
- build:gcc
test:gcc-i386:
<<: *test-linux
stage: test:gcc-i386
dependencies:
- build:gcc-i386
test:clang-fbsd:
stage: test:clang-fbsd
dependencies:
- build:clang-fbsd
tags:
- fbsd
- rack
script:
- ./tools/90_run_tests.sh
test:clang-macOS:
stage: test:clang-macOS
dependencies:
- build:clang-macOS
tags:
- macOS
- rack
script:
- ./tools/90_run_tests.sh