-
Notifications
You must be signed in to change notification settings - Fork 17
197 lines (181 loc) · 6.82 KB
/
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
name: CI
on: [push, pull_request]
jobs:
arm:
name: "ARM"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- run: |
source ./default-env.sh
HOST=arm-linux-gnueabihf \
PACKAGES="g++-arm-linux-gnueabihf" \
DEP_OPTS="NO_QT=1" \
GOAL="install" \
BITCOIN_CONFIG="--enable-reduce-exports" \
bash -xe ./build-test.sh
win64:
name: "WIN64"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- run: |
source ./default-env.sh
HOST=x86_64-w64-mingw32 \
DEP_OPTS="NO_QT=1" \
PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine-binfmt wine64" \
GOAL="install" \
BITCOIN_CONFIG="--enable-reduce-exports" \
bash -xe ./build-test.sh
build_x86_linux_no_gui_debug:
name: x86 Linux, No GUI, Debug
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Build debug
run: |
source ./default-env.sh
HOST=x86_64-unknown-linux-gnu \
PACKAGES="python3-zmq libevent-dev bsdmainutils libboost-filesystem-dev libboost-test-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev systemtap-sdt-dev bpfcc-tools bpftrace" \
NO_DEPENDS=1 \
DEP_OPTS="NO_QT=1" \
RUN_TESTS=false \
RUN_BENCH=true \
DEBUD_MODE=true \
GOAL="install" \
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --enable-reduce-exports --with-gui=no --enable-debug CPPFLAGS=-DDEBUG CPPFLAGS=-DDEBUG_LOCKORDER" \
bash -xe ./build-test.sh
build_x86_linux_no_gui_release:
name: x86 Linux, No GUI, Release, USDT
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Build release
run: |
source ./default-env.sh
HOST=x86_64-unknown-linux-gnu \
PACKAGES="python3-zmq libevent-dev bsdmainutils libboost-filesystem-dev libboost-test-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev systemtap-sdt-dev bpfcc-tools bpftrace" \
NO_DEPENDS=1 \
DEP_OPTS="NO_QT=1" \
RUN_TESTS=true \
RUN_BENCH=true \
DEBUD_MODE=false \
GOAL="install" \
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --enable-reduce-exports --with-gui=no --enable-usdt CPPFLAGS=-DDEBUG_LOCKORDER" \
bash -xe ./build-test.sh
linux-with-qt:
name: "x86_64 Linux (uses qt5 dev package instead of depends Qt to speed up build and avoid timeout)"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- run: |
source ./default-env.sh
HOST=x86_64-unknown-linux-gnu \
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libdbus-1-dev libharfbuzz-dev" \
DEP_OPTS="NO_QT=1 NO_UPNP=1 ALLOW_HOST_PACKAGES=1" \
RUN_TESTS=true \
RUN_BENCH=true \
GOAL="install" \
BITCOIN_CONFIG="--enable-zmq --with-gui=qt5 --enable-reduce-exports --enable-debug" \
CXXFLAGS="-g0 -O2" \
bash -xe ./build-test.sh
linux-with-qt-and-system-lib:
name: "x86_64 Linux (Qt5 & system libs)"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- run: |
source ./default-env.sh
HOST=x86_64-unknown-linux-gnu \
PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libevent-dev bsdmainutils libboost-filesystem-dev libboost-test-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev" \
NO_DEPENDS=1 \
RUN_TESTS=true \
RUN_BENCH=true \
GOAL="install" \
BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --enable-reduce-exports --with-gui=qt5 CPPFLAGS=-DDEBUG_LOCKORDER" \
bash -xe ./build-test.sh
linux-no-wallet:
name: "x86_64 Linux, No wallet"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- run: |
source ./default-env.sh
HOST=x86_64-unknown-linux-gnu \
PACKAGES="python3" \
DEP_OPTS="NO_WALLET=1" \
RUN_TESTS=true \
RUN_BENCH=true \
GOAL="install" \
BITCOIN_CONFIG="--enable-reduce-exports" \
bash -xe ./build-test.sh
cross-mac_debug:
name: Cross Mac Debug
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- run: |
source ./default-env.sh
HOST=x86_64-apple-darwin16 \
PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python3-dev python3-setuptools xorriso libtinfo5" \
OSX_SDK=10.15 \
GOAL="all deploy" \
DEBUD_MODE=true \
BITCOIN_CONFIG="--with-gui=qt5 --enable-reduce-exports --enable-werror CPPFLAGS=-DDEBUG " \
bash -xe ./build-test.sh
cross-mac_release:
name: Cross Mac Release
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- run: |
source ./default-env.sh
HOST=x86_64-apple-darwin16 \
PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python3-dev python3-setuptools xorriso libtinfo5" \
OSX_SDK=10.15 \
GOAL="all deploy" \
DEBUD_MODE=false \
BITCOIN_CONFIG="--with-gui=qt5 --enable-reduce-exports --enable-werror" \
bash -xe ./build-test.sh
lint:
name: "[PARTIAL_PENDING]lint"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Build
run: |
RETRY() { for i in {1..3};do $*&&break;sleep 1;done }
RETRY apt-get update
RETRY apt-get install --no-install-recommends --no-upgrade -qq python3 python3-pip git
RETRY pip3 install flake8
if [ $GITHUB_EVENT_NAME != "pull_request" ]; then test/lint/commit-script-check.sh $(git rev-parse $GITHUB_BASE_REF)..$(git rev-parse HEAD); fi
# we changed subtrees for add CMake files. So far it comment outed.
# test/lint/git-subtree-check.sh src/crypto/ctaes
# test/lint/git-subtree-check.sh src/secp256k1
# test/lint/git-subtree-check.sh src/univalue
# test/lint/git-subtree-check.sh src/leveldb
test/lint/check-doc.py
test/lint/check-rpc-mappings.py .
test/lint/lint-all.sh
echo "PENDING some lint files! pending lint file name has 'pending-' prefix."
ls test/lint/ | grep ^pending-