Skip to content

Commit 68dd2bb

Browse files
authored
Merge pull request #314 from openmina/develop
Merge `develop` into `main`
2 parents adf6f81 + 5cfdf69 commit 68dd2bb

File tree

532 files changed

+31032
-9231
lines changed

Some content is hidden

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

532 files changed

+31032
-9231
lines changed

.drone.yml

Lines changed: 22 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ trigger:
1212
- feat/graphql
1313

1414
environment:
15-
REPLAYER_ID: 12D3KooWETkiRaHCdztkbmrWQTET9HMWimQPx5sH5pLSRZNxRsjw
1615
CHAIN_ID: 3c41383994b87449625df91769dff7b507825c064287d30fada9286f3f1cb15e
1716

1817
OPENMINA1_SK: 5KJKg7yAbYAQcNGWcKFf2C4ruJxwrHoQvsksU16yPzFzXHMsbMc
@@ -54,16 +53,29 @@ steps:
5453
- cp /usr/local/bin/mina cli/bin/
5554

5655
- name: build
57-
image: rust:1.75-bullseye
56+
image: rust:1.77-bullseye
5857
commands:
5958
- apt-get update && apt-get install -y libssl-dev libjemalloc-dev jq
60-
- rustup update 1.75 && rustup default 1.75
59+
- rustup update 1.77 && rustup default 1.77
6160
- rustup component add rustfmt
62-
- cargo test --release -p cli
63-
- cargo build --release -p cli --bin openmina
61+
# just to be sure it builds without errors
62+
- cargo build
63+
- cargo build --release --features p2p-libp2p --bin openmina
64+
# unit tests
65+
- cargo test --features p2p-libp2p --release -p cli
66+
# build tester binaries
67+
- cargo build --release --features scenario-generators --no-default-features -p openmina-node-testing && mv target/release/openmina-node-testing target/release/openmina-node-testing-mio
68+
- cargo build --release --features scenario-generators,p2p-libp2p -p openmina-node-testing && mv target/release/openmina-node-testing target/release/openmina-node-testing-libp2p
69+
- cargo build --release --features scenario-generators,p2p-libp2p,p2p-webrtc -p openmina-node-testing && mv target/release/openmina-node-testing target/release/openmina-node-testing-webrtc
6470
- cargo build --release --bin runner
65-
- cargo build --release --features scenario-generators -p openmina-node-testing && mv target/release/openmina-node-testing target/release/openmina-node-testing-libp2p
66-
- cargo build --release --features scenario-generators,p2p-webrtc -p openmina-node-testing && mv target/release/openmina-node-testing target/release/openmina-node-testing-webrtc
71+
72+
# o sole mio :)
73+
- name: solo-mio-bootstrap
74+
image: vladsimplestakingcom/mina-debugger:2.0.0rampup4-focal
75+
failure: ignore
76+
commands:
77+
- cp target/release/openmina-node-testing-mio /usr/bin/openmina-node-testing-mio
78+
- openmina-node-testing-mio scenarios-generate --name solo-node-bootstrap
6779

6880
- name: solo-webrtc-sync-root-snarked-ledger
6981
image: vladsimplestakingcom/mina-debugger:2.0.0rampup4-focal
@@ -177,24 +189,14 @@ steps:
177189
environment:
178190
BPF_ALIAS: "/coda/0.0.1/3c41383994b87449625df91769dff7b507825c064287d30fada9286f3f1cb15e-255.255.255.7"
179191

180-
- name: replayer
181-
image: vladsimplestakingcom/bootstrap-rr:graphql
182-
pull: always
183-
detach: true
184-
environment:
185-
# 12D3KooWETkiRaHCdztkbmrWQTET9HMWimQPx5sH5pLSRZNxRsjw
186-
OPENMINA_P2P_SEC_KEY: 5JDRBqXfHm4Xne1QKUJyg9FKRfwN6gtduZb7nVYHg2F1BmwPynT
187-
commands:
188-
- RUST_LOG=info openmina-bootstrap-sandbox --path='/tmp/mina-record' --listen='/ip4/0.0.0.0/tcp/8302' --chain-id=$CHAIN_ID replay 234
189-
190192
- name: openmina1
191193
image: *snark-worker-image
192194
detach: true
193195
commands:
194196
- mkdir test_ledgers
195197
- curl https://raw.githubusercontent.com/openmina/openmina-poc/3a81bc7/test_ledgers/jx5k7xf3L2aof821PQWumABQ793rhEis5kRb8YUmJWTHKtEJ5nb -o test_ledgers/jx5k7xf3L2aof821PQWumABQ793rhEis5kRb8YUmJWTHKtEJ5nb
196198
- target/release/openmina node -p 10000 -v Debug -s $OPENMINA1_SK
197-
--peers /dns4/replayer/tcp/8302/p2p/$REPLAYER_ID /dns4/openmina2/tcp/8302/p2p/$OPENMINA2_LIBP2P_ID /dns4/openmina3/tcp/8302/p2p/$OPENMINA3_LIBP2P_ID
199+
--peers /dns4/openmina2/tcp/8302/p2p/$OPENMINA2_LIBP2P_ID /dns4/openmina3/tcp/8302/p2p/$OPENMINA3_LIBP2P_ID
198200
/dns4/ocaml1/tcp/8302/p2p/12D3KooWKLzGWSdFAQGEAtrHan1TTwu7idagcZ83X6MXWfUJNiTU
199201
--run-snarker $OPENMINA1_SNARKER_KEY --snarker-strategy seq --snarker-exe-path cli/bin/snark-worker
200202

@@ -203,31 +205,17 @@ steps:
203205
detach: true
204206
commands:
205207
- target/release/openmina node -p 10000 -v Debug -s $OPENMINA2_SK
206-
--peers /dns4/replayer/tcp/8302/p2p/$REPLAYER_ID /dns4/openmina1/tcp/8302/p2p/$OPENMINA1_LIBP2P_ID /dns4/openmina3/tcp/8302/p2p/$OPENMINA3_LIBP2P_ID
208+
--peers /dns4/openmina1/tcp/8302/p2p/$OPENMINA1_LIBP2P_ID /dns4/openmina3/tcp/8302/p2p/$OPENMINA3_LIBP2P_ID
207209
--run-snarker $OPENMINA2_SNARKER_KEY --snarker-strategy rand --snarker-exe-path cli/bin/snark-worker
208210

209-
- name: test-bootstrap-replayer-to-openmina
210-
image: vladsimplestakingcom/bootstrap-rr:graphql
211-
pull: always
212-
commands:
213-
- sleep 180
214-
- RUST_LOG=debug timeout 3600s openmina-bootstrap-sandbox --path='/tmp/mina-record' --chain-id=$CHAIN_ID test-graphql 234 http://openmina1:10000/graphql
215-
216211
- name: openmina3
217212
image: *snark-worker-image
218213
detach: true
219214
commands:
220215
- target/release/openmina node -p 10000 -v Debug -s $OPENMINA3_SK
221-
--peers /dns4/replayer/tcp/8302/p2p/$REPLAYER_ID /dns4/openmina1/tcp/8302/p2p/$OPENMINA1_LIBP2P_ID /dns4/openmina2/tcp/8302/p2p/$OPENMINA2_LIBP2P_ID
216+
--peers /dns4/openmina1/tcp/8302/p2p/$OPENMINA1_LIBP2P_ID /dns4/openmina2/tcp/8302/p2p/$OPENMINA2_LIBP2P_ID
222217
--run-snarker $OPENMINA3_SNARKER_KEY --snarker-strategy rand --snarker-exe-path cli/bin/snark-worker
223218

224-
- name: test-bootstrap-openmina-to-openmina
225-
image: vladsimplestakingcom/bootstrap-rr:graphql
226-
pull: always
227-
commands:
228-
- sleep 180
229-
- RUST_LOG=debug timeout 3600s openmina-bootstrap-sandbox --path='/tmp/mina-record' --chain-id=$CHAIN_ID test-graphql 234 http://openmina3:10000/graphql
230-
231219
- name: test-snark-work
232220
image: alpine
233221
commands:

.github/workflows/ci.yaml

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
CARGO_TERM_COLOR: always
1717
steps:
1818
- name: Git checkout
19-
uses: actions/checkout@v3
19+
uses: actions/checkout@v4
2020
- name: Setup Rust
2121
run: |
2222
# Nightly to be able to use `--report-time` below
@@ -39,12 +39,12 @@ jobs:
3939
runs-on: ubuntu-20.04
4040
steps:
4141
- name: Git checkout
42-
uses: actions/checkout@v3
42+
uses: actions/checkout@v4
4343

4444
- name: Setup Rust
4545
run: |
46-
rustup install 1.75
47-
rustup override set 1.75
46+
rustup install 1.77
47+
rustup override set 1.77
4848
rustup component add clippy rustfmt
4949
5050
# - name: Check
@@ -69,7 +69,7 @@ jobs:
6969
cargo build --release --bin openmina
7070
7171
- name: Upload binaries
72-
uses: actions/upload-artifact@v3
72+
uses: actions/upload-artifact@v4
7373
with:
7474
name: bin
7575
path: target/release/openmina
@@ -88,10 +88,15 @@ jobs:
8888
jq -r '. | select(.executable != null and (.target.kind | (contains(["test"])))) | [.target.name, .executable ] | @tsv' cargo-build-test.json > tests.tsv
8989
while read NAME FILE; do cp -a $FILE target/release/tests/webrtc_$NAME; done < tests.tsv
9090
91+
cargo build --release --features=scenario-generators,p2p-libp2p --package=openmina-node-testing --tests
92+
cargo build --release --features=scenario-generators,p2p-libp2p --package=openmina-node-testing --tests --message-format=json > cargo-build-test.json
93+
jq -r '. | select(.executable != null and (.target.kind | (contains(["test"])))) | [.target.name, .executable ] | @tsv' cargo-build-test.json > tests.tsv
94+
while read NAME FILE; do cp -a $FILE target/release/tests/libp2p_$NAME; done < tests.tsv
95+
9196
tar cf tests.tar -C target/release/tests .
9297
9398
- name: Upload tests
94-
uses: actions/upload-artifact@v3
99+
uses: actions/upload-artifact@v4
95100
with:
96101
name: tests
97102
path: tests.tar
@@ -104,21 +109,26 @@ jobs:
104109
strategy:
105110
matrix:
106111
test: [p2p_basic_connections, p2p_basic_incoming, p2p_basic_outgoing]
112+
libp2p:
113+
- external
114+
# - internal
107115
fail-fast: false
116+
env:
117+
TEST: ${{ matrix.libp2p == 'external' && format('libp2p_{0}', matrix.test) || matrix.test }}
108118

109119
steps:
110120
- name: Download tests
111-
uses: actions/download-artifact@v3
121+
uses: actions/download-artifact@v4
112122
with:
113123
name: tests
114124

115125
- name: Unpack tests
116126
run: |
117-
tar xf tests.tar ./${{ matrix.test }}
127+
tar xf tests.tar ./${{ env.TEST }}
118128
119129
- name: Run the test
120130
run: |
121-
./${{ matrix.test }} --nocapture --test-threads=1
131+
./${{ env.TEST }} --nocapture --test-threads=1
122132
123133
scenario-tests:
124134
needs: [ build ]
@@ -127,12 +137,17 @@ jobs:
127137
image: minaprotocol/mina-daemon:2.0.0berkeley-rc1-1551e2f-focal-berkeley
128138
strategy:
129139
matrix:
130-
test: [single_node, multi_node, connection_discovery, webrtc_single_node, webrtc_multi_node]
140+
test:
141+
- single_node
142+
- multi_node
143+
- webrtc_single_node
144+
- webrtc_multi_node
145+
# - connection_discovery
131146
fail-fast: false
132147

133148
steps:
134149
- name: Download tests
135-
uses: actions/download-artifact@v3
150+
uses: actions/download-artifact@v4
136151
with:
137152
name: tests
138153

.github/workflows/rustfmt.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: rustfmt
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
pull_request:
7+
8+
jobs:
9+
rustfmt:
10+
name: Rustfmt
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v2
14+
- uses: actions-rs/toolchain@v1
15+
with:
16+
toolchain: 1.77
17+
default: true
18+
- run: rustup component add rustfmt
19+
- uses: actions-rs/cargo@v1
20+
with:
21+
command: fmt
22+
args: --all -- --check

.idea/.gitignore

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)