-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
79 lines (70 loc) · 1.63 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
# Currently using alpine as base
#image: alpine:latest
image: alpine:latest
# TODO: Migrate to another base including all the dependencies
# in order to avoid fetching and installing everything each time
stages:
- build
- test
- deploy
variables:
# Recursive submodule update
GIT_SUBMODULE_STRATEGY: recursive
before_script:
# Add the testing repo for SystemC
- echo http://dl-cdn.alpinelinux.org/alpine/edge/testing >> /etc/apk/repositories
# Install all dependencies
- apk update
- apk add --no-cache
bash findutils
build-base bison flex
doxygen graphviz
systemc-dev
- cp .config.gitlab-ci.mk config.local.mk
build:
stage: build
script:
- make -j$(nproc) bin V=1
- make -j$(nproc) lib V=1
artifacts:
paths:
- "./specs"
- "./libspecs.so"
test:
stage: test
script:
# Only running a few tests manually for now
- ./specs -t wg
#- ./specs -t dc
#- ./specs -t splitter
#- ./specs -t merger
#- ./specs -t detector
#- ./specs -t phaseshifter
# TODO: add other tests (both from -t and the circuit test files)
dependencies:
- build
artifacts:
paths:
- "traces/*.vcd"
doc:
stage: build
script:
- make doc
artifacts:
paths:
- doc/pcm-doc.tar.xz
- doc/html/
only:
- master
pages:
stage: deploy
script:
- mkdir public
- cp -R doc/html/* public
dependencies:
- doc
artifacts:
paths:
- public
only:
- master