forked from dojoengine/dojo
-
Notifications
You must be signed in to change notification settings - Fork 0
211 lines (183 loc) · 6.72 KB
/
openrpc-testgen-v4.yaml
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
198
199
200
201
202
203
204
205
206
207
208
209
name: openrpc-testgenv4
on:
push:
branches:
- 'uacias/**'
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
RUST_VERSION: 1.80.0
jobs:
build:
runs-on: arc-runner-set
steps:
- name: Checkout main repository
uses: actions/checkout@v3
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential libclang-dev
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Cache Rust dependencies
uses: Swatinem/rust-cache@v2
- name: Build katana
run: |
cargo build --release --bin katana
mkdir -p bins
cp ./target/release/katana bins/
- name: Upload katana binary
uses: actions/upload-artifact@v4
with:
name: dojo-bins
path: bins
test:
needs: build
runs-on: arc-runner-set
env:
KATANA_ADDR: "127.0.0.1"
KATANA_PORT: "5050"
KATANA_NO_MINING_PORT: "5051"
KATANA_NO_FEE_PORT: "5052"
KATANA_NO_ACCOUNT_VALIDATION_PORT: "5053"
KATANA_OPENRPC_PORT: "5054"
PAYMASTER_PRIVATE_KEY: "0xc5b2fcab997346f3ea1c00b002ecf6f382c5f9c9659a3894eb783c5320f912"
PAYMASTER_ACCOUNT_ADDRESS: "0x127fd5f1fe78a71f8bcd1fec63e3fe2f0486b6ecd5c86a0466c3a21fa5cfcec"
UDC_ADDRESS: "0x41a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf"
ACCOUNT_CLASS_HASH: "0x07dc7899aa655b0aae51eadff6d801a58e97dd99cf4666ee59e704249e51adf2"
steps:
- name: Checkout main repository
uses: actions/checkout@v3
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential libclang-dev git curl bash libssl-dev pkg-config
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Cache Rust dependencies
uses: Swatinem/rust-cache@v2
- name: Install Scarb via script
run: |
export PATH="$HOME/.local/bin:$HOME/.cargo/bin:$PATH"
curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | bash -s -- -v 2.8.4
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Cache target directory
uses: actions/cache@v3
with:
path: katana-runner/target
key: ${{ runner.os }}-cargo-${{ hashFiles('katana-runner/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Download katana binary
uses: actions/download-artifact@v4
with:
name: dojo-bins
path: /tmp/bins
- name: Set permissions for katana
run: |
chmod +x /tmp/bins/katana
- name: Start katana nodes
run: |
/tmp/bins/katana \
--http.port "${KATANA_PORT}" \
--http.addr "${KATANA_ADDR}" \
--silent \
&
/tmp/bins/katana \
--http.port "${KATANA_OPENRPC_PORT}" \
--http.addr "${KATANA_ADDR}" \
--silent \
&
/tmp/bins/katana \
--http.port "${KATANA_NO_MINING_PORT}" \
--http.addr "${KATANA_ADDR}" \
--silent \
--no-mining \
--dev \
&
/tmp/bins/katana \
--http.port "${KATANA_NO_FEE_PORT}" \
--http.addr "${KATANA_ADDR}" \
--silent \
--dev \
--dev.no-fee \
&
/tmp/bins/katana \
--http.port "${KATANA_NO_ACCOUNT_VALIDATION_PORT}" \
--http.addr "${KATANA_ADDR}" \
--silent \
--dev \
--dev.no-account-validation \
&
- name: Checkout katana-runner repository
uses: actions/checkout@v3
with:
repository: neotheprogramist/starknet-rpc-tests
path: katana-runner
- name: Scarb build
run: |
scarb build
working-directory: katana-runner
- name: Build openrpc-testgen-runner
run: |
cargo build --release --features "openrpc katana katana_no_mining katana_no_fee katana_no_account_validation" -p openrpc-testgen -p openrpc-testgen-runner
working-directory: katana-runner
- name: Run Katana Suite
run: |
URLS="http://${KATANA_ADDR}:${KATANA_PORT}"
target/release/openrpc-testgen-runner \
--urls "${URLS}" \
--paymaster-account-address "${PAYMASTER_ACCOUNT_ADDRESS}" \
--paymaster-private-key "${PAYMASTER_PRIVATE_KEY}" \
--udc-address "${UDC_ADDRESS}" \
--account-class-hash "${ACCOUNT_CLASS_HASH}" \
--suite katana
working-directory: katana-runner
- name: Run OpenRPC Suite
run: |
URLS="http://${KATANA_ADDR}:${KATANA_OPENRPC_PORT}"
target/release/openrpc-testgen-runner \
--urls "${URLS}" \
--paymaster-account-address "${PAYMASTER_ACCOUNT_ADDRESS}" \
--paymaster-private-key "${PAYMASTER_PRIVATE_KEY}" \
--udc-address "${UDC_ADDRESS}" \
--account-class-hash "${ACCOUNT_CLASS_HASH}" \
--suite open-rpc
working-directory: katana-runner
- name: Run Katana No Mining Suite
run: |
URLS="http://${KATANA_ADDR}:${KATANA_NO_MINING_PORT}"
target/release/openrpc-testgen-runner \
--urls "${URLS}" \
--paymaster-account-address "${PAYMASTER_ACCOUNT_ADDRESS}" \
--paymaster-private-key "${PAYMASTER_PRIVATE_KEY}" \
--udc-address "${UDC_ADDRESS}" \
--account-class-hash "${ACCOUNT_CLASS_HASH}" \
--suite katana-no-mining
working-directory: katana-runner
- name: Run Katana No Fee Suite
run: |
URLS="http://${KATANA_ADDR}:${KATANA_NO_FEE_PORT}"
target/release/openrpc-testgen-runner \
--urls "${URLS}" \
--paymaster-account-address "${PAYMASTER_ACCOUNT_ADDRESS}" \
--paymaster-private-key "${PAYMASTER_PRIVATE_KEY}" \
--udc-address "${UDC_ADDRESS}" \
--account-class-hash "${ACCOUNT_CLASS_HASH}" \
--suite katana-no-fee
working-directory: katana-runner
- name: Run Katana No Account Validation Suite
run: |
URLS="http://${KATANA_ADDR}:${KATANA_NO_ACCOUNT_VALIDATION_PORT}"
target/release/openrpc-testgen-runner \
--urls "${URLS}" \
--paymaster-account-address "${PAYMASTER_ACCOUNT_ADDRESS}" \
--paymaster-private-key "${PAYMASTER_PRIVATE_KEY}" \
--udc-address "${UDC_ADDRESS}" \
--account-class-hash "${ACCOUNT_CLASS_HASH}" \
--suite katana-no-account-validation
working-directory: katana-runner