Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add zombienet integration tests #706

Merged
merged 59 commits into from
Mar 16, 2022
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
b8fbca2
Add zombienet integration tests
wirednkod Feb 3, 2022
c915b70
Update .github/workflows/poc-zombienet.yml
wirednkod Feb 3, 2022
0cb62ff
Update .github/workflows/poc-zombienet.yml
wirednkod Feb 3, 2022
9242e32
address PR comments
wirednkod Feb 3, 2022
a75c53e
address more PR comments
wirednkod Feb 4, 2022
00b2818
Merge branch 'master' into nik-zombienet
wirednkod Feb 4, 2022
4b6d9a7
Merge branch 'master' into nik-zombienet
wirednkod Feb 4, 2022
95ba464
bump zombienet and change feature file
pepoviola Feb 4, 2022
e09bd66
Merge branch 'master' into nik-zombienet
pepoviola Feb 7, 2022
b3d1cf5
clean names and remove sleep
pepoviola Feb 7, 2022
2463571
Merge branch 'master' into nik-zombienet
wirednkod Feb 11, 2022
a346280
Merge branch 'master' into nik-zombienet
wirednkod Feb 15, 2022
497b276
alter zombienet's scripts
wirednkod Feb 15, 2022
2e7df63
update .gitignore
wirednkod Feb 15, 2022
8d30e47
add forgotten await
wirednkod Feb 15, 2022
df240e2
Merge branch 'master' into nik-zombienet
wirednkod Feb 15, 2022
59c6df2
Merge branch 'master' into nik-zombienet
wirednkod Feb 15, 2022
8ad8357
Merge branch 'master' into nik-zombienet
wirednkod Feb 16, 2022
b1d853c
Rename tests and add parachain tests
wirednkod Feb 18, 2022
03895de
Correct tests
wirednkod Feb 18, 2022
9773410
Correct tests
wirednkod Feb 18, 2022
2fea53e
Merge branch 'master' of github.com:paritytech/substrate-connect into…
wirednkod Feb 19, 2022
cfb198b
Add curl for adder-collator
wirednkod Feb 19, 2022
e322abe
Add curl for adder-collator
wirednkod Feb 19, 2022
2abe4fb
Fix master -> main for zombienet yml
wirednkod Feb 19, 2022
5385947
test logs
wirednkod Feb 20, 2022
295fe3e
fix path
wirednkod Feb 20, 2022
940ada7
reduce log level to 3
wirednkod Feb 20, 2022
dd6ad81
Rename yml title
wirednkod Feb 20, 2022
132f6af
Merge branch 'main' into nik-zombienet
wirednkod Feb 20, 2022
cf094d9
Merge branch 'main' into nik-zombienet
wirednkod Mar 6, 2022
2dd76dd
Merge branch 'main' of github.com:paritytech/substrate-connect into n…
wirednkod Mar 6, 2022
8ef6ec6
fx api
wirednkod Mar 6, 2022
39ed3f4
Merge branch 'nik-zombienet' of github.com:paritytech/substrate-conne…
wirednkod Mar 6, 2022
548d289
fix ApiPromise
wirednkod Mar 6, 2022
34765e0
zombienet bump version (#844)
pepoviola Mar 6, 2022
1633901
prettier
wirednkod Mar 6, 2022
1f48ef6
Merge branch 'main' into nik-zombienet
wirednkod Mar 7, 2022
3673225
Add parachain spec
wirednkod Mar 7, 2022
2ae79eb
alter scripts
wirednkod Mar 7, 2022
986b7cd
Merge branch 'main' of github.com:paritytech/substrate-connect into n…
wirednkod Mar 7, 2022
1a174dc
update .gitignore
wirednkod Mar 7, 2022
42df0c3
Merge branch 'main' into nik-zombienet
wirednkod Mar 7, 2022
3ac7a3e
Merge branch 'nik-zombienet' of github.com:paritytech/substrate-conne…
wirednkod Mar 7, 2022
f9de36e
activate boolean for parachain
wirednkod Mar 7, 2022
89b0c19
test parachain
wirednkod Mar 7, 2022
b0db36d
test parachain
wirednkod Mar 7, 2022
9432271
test parachain
wirednkod Mar 7, 2022
0347e6f
Update .github/workflows/poc-zombienet.yml
pepoviola Mar 9, 2022
b63a8ee
bump zombienet and small changes
pepoviola Mar 9, 2022
f8d18fb
typo and name consistency
pepoviola Mar 9, 2022
4bf105c
change script name
pepoviola Mar 9, 2022
837ee78
bump zombienet version (#856)
pepoviola Mar 10, 2022
4239444
Merge branch 'main' into nik-zombienet
wirednkod Mar 10, 2022
ae553ee
update smoldot-light logs to debug
wirednkod Mar 11, 2022
587e4a4
log parachain spec
wirednkod Mar 11, 2022
4d852f7
remove log parachain spec
wirednkod Mar 11, 2022
c0304bf
bump zombienet version
pepoviola Mar 16, 2022
ddfc7c6
Merge branch 'main' into nik-zombienet
mergify[bot] Mar 16, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .github/workflows/poc-zombienet.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: PoC zombienet CI

on:
pull_request:
branches: [ master ]

jobs:
test:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: build
run: |
yarn install --frozen-lockfile
yarn build
- name: Get zombienet
run: |
curl -L -O https://github.com/paritytech/zombienet/releases/download/v1.2.11/zombienet-linux
chmod +x zombienet-linux
- name: Get polkadot
run: |
curl -L -O https://github.com/paritytech/polkadot/releases/download/v0.9.15-1/polkadot
chmod +x polkadot
- name: Run test
run: |
export PATH=$(pwd):$PATH
echo "running on $(pwd)"
echo $PATH
wirednkod marked this conversation as resolved.
Show resolved Hide resolved
./zombienet-linux -p native test ./.zombienet-tests/0001-smoke-test.feature
10 changes: 10 additions & 0 deletions .zombienet-tests/0001-custom.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
const { connect } = require("./utils")

async function run(nodeName, networkInfo) {
const api = await connect(nodeName, networkInfo)
const decimals = api?.registry?.chainDecimals

return decimals[0]
}

module.exports = { run }
11 changes: 11 additions & 0 deletions .zombienet-tests/0001-smoke-test.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Description: Smoke Test
Network: ./0001-smoke-test.toml
Creds: config


alice: is up
bob: is up
alice: reports block height is at least 5 within 120 seconds
alice: reports finalised height is at least 2 within 120 seconds
alice: js-script ./0001-custom.js return is equal to 12 within 120 seconds
bob: js-script ./0002-getHeaders.js return is greater than 1 within 120 seconds
wirednkod marked this conversation as resolved.
Show resolved Hide resolved
19 changes: 19 additions & 0 deletions .zombienet-tests/0001-smoke-test.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[settings]
timeout = 240000

[relaychain]
default_image = "parity/polkadot:latest"
chain = "dev"
default_command = "polkadot"

[[relaychain.nodes]]
name = "alice"
validator = true
extra_args = [ "--alice" ]
add_to_bootnodes = true

[[relaychain.nodes]]
name = "bob"
validator = true
extra_args = [ "--bob" ]
add_to_bootnodes = true
25 changes: 25 additions & 0 deletions .zombienet-tests/0002-getHeaders.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
const { connect } = require("./utils")

async function run(nodeName, networkInfo) {
const api = await connect(nodeName, networkInfo)
// add 20s sleep to give time to sync
await new Promise((resolve) => setTimeout(resolve, 10000))
wirednkod marked this conversation as resolved.
Show resolved Hide resolved
let count = 0
try {
await new Promise(async (resolve, reject) => {
const unsub = await api.rpc.chain.subscribeNewHeads((header) => {
if (++count === 2) {
unsub()
resolve()
}
})
})
} catch (error) {
// DEBUG
console.log("error", error)
wirednkod marked this conversation as resolved.
Show resolved Hide resolved
}

return count
}

module.exports = { run }
15 changes: 15 additions & 0 deletions .zombienet-tests/utils.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const polkadotApi = require("@polkadot/api")

async function connect(nodeName, networkInfo) {
const { userDefinedTypes } = networkInfo.nodesByName[nodeName]
const customChainSpec = require(networkInfo.chainSpecPath)
console.log("bootnodes", customChainSpec.bootNodes)
wirednkod marked this conversation as resolved.
Show resolved Hide resolved
const substrateConnect = await import("@substrate/connect")
const provider = new substrateConnect.ScProvider(
JSON.stringify(customChainSpec),
)
const api = new polkadotApi.ApiPromise({ provider, types: userDefinedTypes })
return api
}

module.exports = { connect }