forked from kadena-io/chainweb-node
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
115 lines (102 loc) · 2.93 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
stages:
- build
- test
# - deploy
# This is small check to confirm that the shell's limits for opening file
# descriptors is sufficiently high. This is relevant for our property tests, in
# which some tests rapidly create and destroy HTTP servers.
#
# 2019-03-24 DB: Disabling for now since we know CI has sufficient ulimits and
# this is now slowing down the build meaningfully.
#
# ulimit-linux:
# tags:
# - linux
# script:
# - ulimit -Hn
# - ulimit -Sn
#
# ulimit-macos:
# tags:
# - macos
# script:
# - ulimit -Hn
# - ulimit -Sn
nix-macos:
stage: build
tags:
- macos
script:
- nix-build
- nix-shell --run "echo Done with shell test"
- result/bin/chainweb-tests --hide-successes
# NOTE: If we want artifacts to inclue code coverage reports, we have to pass
# "--arg runCoverage true" to nix-build, but that means that the
# chainweb-node binary will also be built with coverage turned on which is
# probably not what we want.
# # - scripts/collectArtifacts.sh
# artifacts:
# paths:
# - public/
# expire_in: 1 week
nix-linux:
stage: build
tags:
- linux
script:
- echo -e "${CI_COMMIT_SHORT_SHA}\n${CI_COMMIT_REF_NAME}\n${CI_COMMIT_TAG}" > .vcs-info
- cat .vcs-info
- nix-build
- nix-shell --run "echo Done with shell test"
- result/bin/chainweb-node --version
- result/bin/chainweb-tests --hide-successes
# - nix-build --option extra-sandbox-paths '/etc/protocols /etc/services' -A ghc.chainweb.doc
# NOTE: If we want artifacts to inclue code coverage reports, we have to pass
# "--arg runCoverage true" to nix-build, but that means that the
# chainweb-node binary will also be built with coverage turned on which is
# probably not what we want.
# - scripts/collectArtifacts.sh
# artifacts:
# paths:
# - public/
# expire_in: 1 week
# 2019 Feb 11 - This is bottlenecking CI quite severely.
# stack:
# tags:
# - macos
# script:
# - nix-shell --pure -p stack libiconv zlib ncurses gmp git perl darwin.security_tool --run "stack test --fast"
slow-tests:
stage: test
only:
- master
tags:
- linux
script:
- echo This is a master slow test run.
- nix-build
# - nix-build docker.nix
# - nix-build -A ghc.chainweb.doc
- result/bin/chainweb-tests --hide-successes
- result/bin/cwtool slow-tests +RTS -N4
- result/bin/bench
# pages:
# stage: deploy
# script:
# - echo 'Nothing to do...'
# artifacts:
# paths:
# - public/
##############################################################################
# Nightly jobs
##############################################################################
nightly-nix:
only:
- schedules
script:
- echo This is a nightly build!
# It probably makes sense to run coverage nightly
- nix-build
- result/bin/chainweb-tests --hide-successes
- result/bin/cwtool slow-tests +RTS -N4
- result/bin/bench