Skip to content

Commit ec96dd7

Browse files
committed
Merge branch 'develop'
2 parents 5c109bd + 8269160 commit ec96dd7

File tree

244 files changed

+15974
-6691
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

244 files changed

+15974
-6691
lines changed

.buildkite/long_running_tests.yml

Lines changed: 196 additions & 223 deletions
Large diffs are not rendered by default.

.buildkite/pipeline.yml

Lines changed: 109 additions & 174 deletions
Original file line numberDiff line numberDiff line change
@@ -1,195 +1,130 @@
11
steps:
2-
- command: |
3-
echo "+++ :hammer: Building" && \
4-
echo 1 | ./yosemite_build.sh && \
5-
echo "--- :compression: Compressing build directory" && \
6-
tar -pczf build.tar.gz build/
7-
label: ":ubuntu: Build"
8-
agents:
2+
- command: |
3+
echo "+++ :hammer: Building" && \
4+
echo 1 | ./yosemite_build.sh && \
5+
echo "--- :compression: Compressing build directory" && \
6+
tar -pczf build.tar.gz build/
7+
label: ":ubuntu: 18.04 Build"
8+
agents:
9+
- "queue=builder"
910
- "role=linux-builder"
10-
plugins:
11-
docker#v1.4.0:
12-
image: "eosio/ci:ubuntu"
13-
workdir: /data/job
14-
artifact_paths: "build.tar.gz"
15-
timeout: 60
16-
17-
- command: |
18-
echo "+++ :hammer: Building" && \
19-
echo 1 | ./yosemite_build.sh && \
20-
echo "--- :compression: Compressing build directory" && \
21-
tar -pczf build.tar.gz build/
22-
label: ":ubuntu: 18.04 Build"
23-
agents:
24-
- "role=linux-builder"
25-
plugins:
26-
docker#v1.4.0:
27-
image: "eosio/ci:ubuntu18"
28-
workdir: /data/job
29-
artifact_paths: "build.tar.gz"
30-
timeout: 60
31-
32-
- command: |
33-
echo "+++ :hammer: Building" && \
34-
echo 1 | ./yosemite_build.sh && \
35-
echo "--- :compression: Compressing build directory" && \
36-
tar -pczf build.tar.gz build/
37-
label: ":fedora: Build"
38-
agents:
39-
- "role=linux-builder"
40-
artifact_paths: "build.tar.gz"
41-
plugins:
42-
docker#v1.4.0:
43-
image: "eosio/ci:fedora"
44-
workdir: /data/job
45-
timeout: 60
46-
47-
- command: |
48-
echo "+++ :hammer: Building" && \
49-
echo 1 | ./yosemite_build.sh && \
50-
echo "--- :compression: Compressing build directory" && \
51-
tar -pczf build.tar.gz build/
52-
label: ":centos: Build"
53-
agents:
54-
- "role=linux-builder"
55-
plugins:
56-
docker#v1.4.0:
57-
image: "eosio/ci:centos"
58-
workdir: /data/job
59-
artifact_paths: "build.tar.gz"
60-
timeout: 60
61-
62-
- command: |
63-
echo "+++ :hammer: Building" && \
64-
echo 1 | ./yosemite_build.sh && \
65-
echo "--- :compression: Compressing build directory" && \
66-
tar -pczf build.tar.gz build/
67-
label: ":aws: Build"
68-
agents:
11+
plugins:
12+
docker#v1.4.0:
13+
image: "eosio/ci:ubuntu18"
14+
workdir: /data/job
15+
artifact_paths: "build.tar.gz"
16+
timeout: 60
17+
- command: |
18+
echo "+++ :hammer: Building" && \
19+
echo 1 | ./yosemite_build.sh && \
20+
echo "--- :compression: Compressing build directory" && \
21+
tar -pczf build.tar.gz build/
22+
label: ":centos: Build"
23+
agents:
24+
- "queue=builder"
6925
- "role=linux-builder"
70-
artifact_paths: "build.tar.gz"
71-
plugins:
72-
docker#v1.4.0:
73-
image: "eosio/ci:amazonlinux"
74-
workdir: /data/job
75-
timeout: 60
26+
plugins:
27+
docker#v1.4.0:
28+
image: "eosio/ci:centos"
29+
workdir: /data/job
30+
artifact_paths: "build.tar.gz"
31+
timeout: 60
7632

77-
- command: |
78-
echo "--- :arrow_down: Downloading build directory" && \
79-
buildkite-agent artifact download "build.tar.gz" . --step ":ubuntu: Build" && \
80-
tar -zxf build.tar.gz && \
81-
echo "--- :m: Starting MongoDB" && \
82-
$(which mongod) --fork --logpath "$(pwd)"/mongod.log && \
83-
echo "+++ :microscope: Running tests" && \
84-
cd /data/job/build && ctest -LE long_running_tests --output-on-failure
85-
retry:
86-
automatic:
87-
limit: 1
88-
label: ":ubuntu: Tests"
89-
agents:
90-
- "role=linux-tester"
91-
artifact_paths:
92-
- "mongod.log"
93-
- "build/genesis.json"
94-
- "build/config.ini"
95-
plugins:
96-
docker#v1.4.0:
97-
image: "eosio/ci:ubuntu"
98-
workdir: /data/job
99-
timeout: 60
33+
- wait
10034

101-
- command: |
102-
echo "--- :arrow_down: Downloading build directory" && \
103-
buildkite-agent artifact download "build.tar.gz" . --step ":ubuntu: 18.04 Build" && \
104-
tar -zxf build.tar.gz && \
105-
echo "--- :m: Starting MongoDB" && \
106-
$(which mongod) --fork --logpath "$(pwd)"/mongod.log && \
107-
echo "+++ :microscope: Running tests" && \
108-
cd /data/job/build && ctest -LE long_running_tests --output-on-failure
109-
retry:
110-
automatic:
111-
limit: 1
112-
label: ":ubuntu: 18.04 Tests"
113-
agents:
35+
- command: |
36+
echo "--- :arrow_down: Downloading build directory" && \
37+
buildkite-agent artifact download "build.tar.gz" . --step ":ubuntu: 18.04 Build" && \
38+
tar -zxf build.tar.gz && \
39+
echo "--- :m: Starting MongoDB" && \
40+
$(which mongod) --fork --logpath "$(pwd)"/mongod.log && \
41+
echo "+++ :microscope: Running tests" && \
42+
cd /data/job/build && ctest -j8 -LE _tests --output-on-failure
43+
retry:
44+
automatic:
45+
limit: 1
46+
label: ":ubuntu: 18.04 Tests"
47+
agents:
48+
- "queue=builder"
11449
- "role=linux-tester"
115-
artifact_paths:
50+
artifact_paths:
11651
- "mongod.log"
11752
- "build/genesis.json"
11853
- "build/config.ini"
119-
plugins:
120-
docker#v1.4.0:
121-
image: "eosio/ci:ubuntu18"
122-
workdir: /data/job
123-
timeout: 60
124-
125-
- command: |
126-
echo "--- :arrow_down: Downloading build directory" && \
127-
buildkite-agent artifact download "build.tar.gz" . --step ":fedora: Build" && \
128-
tar -zxf build.tar.gz && \
129-
echo "--- :m: Starting MongoDB" && \
130-
$(which mongod) --fork --logpath "$(pwd)"/mongod.log && \
131-
echo "+++ :microscope: Running tests" && \
132-
cd /data/job/build && ctest -LE long_running_tests --output-on-failure
133-
retry:
134-
automatic:
135-
limit: 1
136-
label: ":fedora: Tests"
137-
agents:
54+
plugins:
55+
docker#v1.4.0:
56+
image: "eosio/ci:ubuntu18"
57+
workdir: /data/job
58+
timeout: 60
59+
- command: |
60+
echo "--- :arrow_down: Downloading build directory" && \
61+
buildkite-agent artifact download "build.tar.gz" . --step ":ubuntu: 18.04 Build" && \
62+
tar -zxf build.tar.gz && \
63+
echo "--- :m: Starting MongoDB" && \
64+
$(which mongod) --fork --logpath "$(pwd)"/mongod.log && \
65+
echo "+++ :microscope: Running tests" && \
66+
cd /data/job/build && ctest -L nonparallelizable_tests --output-on-failure
67+
retry:
68+
automatic:
69+
limit: 1
70+
label: ":ubuntu: 18.04 NP Tests"
71+
agents:
72+
- "queue=builder"
13873
- "role=linux-tester"
139-
artifact_paths:
74+
artifact_paths:
14075
- "mongod.log"
14176
- "build/genesis.json"
14277
- "build/config.ini"
143-
plugins:
144-
docker#v1.4.0:
145-
image: "eosio/ci:fedora"
146-
workdir: /data/job
147-
timeout: 60
148-
149-
- command: |
150-
echo "--- :arrow_down: Downloading build directory" && \
151-
buildkite-agent artifact download "build.tar.gz" . --step ":centos: Build" && \
152-
tar -zxf build.tar.gz && \
153-
echo "--- :m: Starting MongoDB" && \
154-
$(which mongod) --fork --logpath "$(pwd)"/mongod.log && \
155-
echo "+++ :microscope: Running tests" && \
156-
cd /data/job/build && ctest -LE long_running_tests --output-on-failure
157-
retry:
158-
automatic:
159-
limit: 1
160-
label: ":centos: Tests"
161-
agents:
78+
plugins:
79+
docker#v1.4.0:
80+
image: "eosio/ci:ubuntu18"
81+
workdir: /data/job
82+
timeout: 60
83+
- command: |
84+
echo "--- :arrow_down: Downloading build directory" && \
85+
buildkite-agent artifact download "build.tar.gz" . --step ":centos: Build" && \
86+
tar -zxf build.tar.gz && \
87+
echo "--- :m: Starting MongoDB" && \
88+
$(which mongod) --fork --logpath "$(pwd)"/mongod.log && \
89+
echo "+++ :microscope: Running tests" && \
90+
cd /data/job/build && ctest -j8 -LE _tests --output-on-failure
91+
retry:
92+
automatic:
93+
limit: 1
94+
label: ":centos: Tests"
95+
agents:
96+
- "queue=builder"
16297
- "role=linux-tester"
163-
artifact_paths:
98+
artifact_paths:
16499
- "mongod.log"
165100
- "build/genesis.json"
166101
- "build/config.ini"
167-
plugins:
168-
docker#v1.4.0:
169-
image: "eosio/ci:centos"
170-
workdir: /data/job
171-
timeout: 60
172-
173-
- command: |
174-
echo "--- :arrow_down: Downloading build directory" && \
175-
buildkite-agent artifact download "build.tar.gz" . --step ":aws: Build" && \
176-
tar -zxf build.tar.gz && \
177-
echo "--- :m: Starting MongoDB" && \
178-
$(which mongod) --fork --logpath "$(pwd)"/mongod.log && \
179-
echo "+++ :microscope: Running tests" && \
180-
cd /data/job/build && ctest -LE long_running_tests --output-on-failure
181-
retry:
182-
automatic:
183-
limit: 1
184-
label: ":aws: Tests"
185-
agents:
102+
plugins:
103+
docker#v1.4.0:
104+
image: "eosio/ci:centos"
105+
workdir: /data/job
106+
timeout: 60
107+
- command: |
108+
echo "--- :arrow_down: Downloading build directory" && \
109+
buildkite-agent artifact download "build.tar.gz" . --step ":centos: Build" && \
110+
tar -zxf build.tar.gz && \
111+
echo "--- :m: Starting MongoDB" && \
112+
$(which mongod) --fork --logpath "$(pwd)"/mongod.log && \
113+
echo "+++ :microscope: Running tests" && \
114+
cd /data/job/build && ctest -L nonparallelizable_tests --output-on-failure
115+
retry:
116+
automatic:
117+
limit: 1
118+
label: ":centos: NP Tests"
119+
agents:
120+
- "queue=builder"
186121
- "role=linux-tester"
187-
artifact_paths:
122+
artifact_paths:
188123
- "mongod.log"
189124
- "build/genesis.json"
190125
- "build/config.ini"
191-
plugins:
192-
docker#v1.4.0:
193-
image: "eosio/ci:amazonlinux"
194-
workdir: /data/job
195-
timeout: 60
126+
plugins:
127+
docker#v1.4.0:
128+
image: "eosio/ci:centos"
129+
workdir: /data/job
130+
timeout: 60

.buildkite/sanitizers.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
steps:
2+
- command: |
3+
echo "--- :hammer: Building with Undefined Sanitizer" && \
4+
/usr/bin/cmake -GNinja \
5+
-DCMAKE_BUILD_TYPE=Debug \
6+
-DCMAKE_CXX_COMPILER=clang++-4.0 \
7+
-DCMAKE_C_COMPILER=clang-4.0 \
8+
-DBOOST_ROOT="${BOOST_ROOT}" \
9+
-DWASM_ROOT="${WASM_ROOT}" \
10+
-DOPENSSL_ROOT_DIR="${OPENSSL_ROOT_DIR}" \
11+
-DBUILD_MONGO_DB_PLUGIN=true \
12+
-DENABLE_COVERAGE_TESTING=true\
13+
-DBUILD_DOXYGEN=false -DCMAKE_CXX_FLAGS="-fsanitize=undefined -fsanitize-recover=all -g -fno-omit-frame-pointer" \
14+
-DCMAKE_C_FLAGS="-fsanitize=undefined -fsanitize-recover=all -g -fno-omit-frame-pointer" \
15+
-DCMAKE_EXE_LINKER_FLAGS="-fsanitize=undefined -fsanitize-recover=all -rtlib=compiler-rt -lgcc_s -pthread" \
16+
-DCMAKE_MODULE_LINKER_FLAGS="-fsanitize=undefined -fsanitize-recover=all -rtlib=compiler-rt -lgcc_s -pthread" && \
17+
echo "--- :shinto_shrine: Running ninja" && \
18+
/usr/bin/ninja | tee ninja.log && \
19+
echo "--- :compression: Compressing build directory" && \
20+
tar -pczf build.tar.gz *
21+
echo "--- :beers: Done"
22+
label: ":_: Undefined Sanitizer"
23+
agents:
24+
- "role=automation-builder-large"
25+
artifact_paths:
26+
- "build.tar.gz"
27+
- "ninja.log"
28+
plugins:
29+
docker#v1.4.0:
30+
image: "eosio/ci:ubuntu18"
31+
command: ["--privileged"]
32+
workdir: /data/job
33+
mounts:
34+
- /etc/buildkite-agent/config:/config
35+
environment:
36+
- BOOST_ROOT=/root/opt/boost
37+
- OPENSSL_ROOT_DIR=/usr/include/openssl
38+
- WASM_ROOT=/root/opt/wasm
39+
- PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/opt/wasm/bin
40+
- CI=true
41+
- UBSAN_OPTIONS=print_stacktrace=1
42+
timeout: 60
43+
44+
- wait
45+
46+
- command: |
47+
echo "--- :arrow_down: Downloading build directory" && \
48+
buildkite-agent artifact download "build.tar.gz" . --step ":_: Undefined Sanitizer" && \
49+
tar -zxf build.tar.gz --no-same-owner && \
50+
echo "--- :m: Starting MongoDB" && \
51+
$(which mongod) --fork --logpath "$(pwd)"/mongod.log && \
52+
echo "+++ :microscope: Running tests" && \
53+
ctest -j8 -LE _tests -V -O sanitizer.log
54+
label: ":_: Undefined Sanitizer Tests"
55+
agents:
56+
- "role=automation-builder-large"
57+
artifact_paths:
58+
- "mongod.log"
59+
- "sanitizer.log"
60+
plugins:
61+
docker#v1.4.0:
62+
image: "eosio/ci:ubuntu18"
63+
workdir: /data/job
64+
mounts:
65+
- /etc/buildkite-agent/config:/config
66+
timeout: 120

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<!-- PLEASE FILL OUT THE FOLLOWING MARKDOWN TEMPLATE -->
2+
<!-- Give your PR a title that is sufficient to understand what is being changed. -->
3+
4+
**Change Description**
5+
6+
<!-- Describe the change you made, the motivation for it, and the impact it will have. Reference issues or pull requests where possible (use '#XX' or 'GH-XX' where XX is the issue or pull request number). -->
7+
8+
**Consensus Changes**
9+
10+
<!-- If this PR introduces a change to the validation of blocks in the chain or consensus in general, please describe the impact. -->
11+
12+
13+
**API Changes**
14+
15+
<!-- If this PR introduces API changes, please describe the changes here. What will developers need to know before upgrading to this version? -->
16+
17+
18+
**Documentation Additions**
19+
20+
<!-- List all the information that needs to be added to the documentation after merge. -->

0 commit comments

Comments
 (0)