Skip to content

Commit

Permalink
Environment spin up in tests using Kurtosis
Browse files Browse the repository at this point in the history
This commit adds an example on how Kurtosis can be used to spin up a SEI Chain that is later used in integration tests
  • Loading branch information
victorcolombo committed Jun 8, 2023
1 parent 37cd048 commit 2053bd4
Showing 1 changed file with 25 additions and 24 deletions.
49 changes: 25 additions & 24 deletions .github/workflows/integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,7 @@

name: Docker Integration Test

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
on: [pull_request]

defaults:
run:
Expand All @@ -28,28 +24,33 @@ jobs:
with:
go-version: 1.18

- name: Start 4 node docker cluster
run: make clean && make docker-cluster-start &

- name: Wait for docker cluster to start
run: |
until [ $(cat build/generated/launch.complete |wc -l) = 4 ]
do
sleep 10
done
sleep 5
- name: Setup Kurtosis repo
run: echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list

- name: Install Kurtosis
run: sudo apt-get update && sudo apt-get install -y kurtosis-cli

- name: Build docker image
run: make clean && make build-docker-node

- name: Run cluster with 4 nodes
run: >
kurtosis run github.com/kurtosis-tech/sei-package@ee5314d1be9ef2af29715017bbea82ed87c142a3 '{"cluster_size": 4, "num_accounts": 10, "image": "sei-chain/localnode", "git_ref": "37cd048c5158fd131f3340c3266d3c48429e1d0d"}' --enclave sei-integration-test
# To run on the current PR
# run: >
# kurtosis run github.com/kurtosis-tech/sei-package@ee5314d1be9ef2af29715017bbea82ed87c142a3 '{"cluster_size": 4, "num_accounts": 10, "image": "sei-chain/localnode", "git_ref": "${{ github.head_ref}}"}' --enclave sei-integration-test

- name: Verify Sei Chain is able to start up
run: docker exec -i sei-node-0 integration_test/startup/startup_test.sh
run: kurtosis service shell sei-integration-test sei-node-0 --exec /sei-protocol/sei-chain/integration_test/startup/startup_test.sh

- name: Testing Dex Module
run: docker exec -i sei-node-0 integration_test/dex_module/place_order_test.sh
run: kurtosis service shell sei-integration-test sei-node-0 --exec /sei-protocol/sei-chain/integration_test/dex_module/place_order_test.sh

- name: Testing Wasm Module
run: |
docker exec -i sei-node-0 integration_test/contracts/deploy_timelocked_token_contract.sh
docker exec -i sei-node-0 integration_test/wasm_module/timelocked_token_test_1.sh
docker exec -i sei-node-0 integration_test/contracts/deploy_timelocked_token_contract.sh
docker exec -i sei-node-0 integration_test/wasm_module/timelocked_token_test_2.sh
docker exec -i sei-node-0 integration_test/contracts/deploy_timelocked_token_contract.sh migration
docker exec -i sei-node-0 integration_test/wasm_module/timelocked_token_test_3.sh
kurtosis service shell sei-integration-test sei-node-0 --exec /sei-protocol/sei-chain/integration_test/contracts/deploy_timelocked_token_contract.sh
kurtosis service shell sei-integration-test sei-node-0 --exec /sei-protocol/sei-chain/integration_test/wasm_module/timelocked_token_test_1.sh
kurtosis service shell sei-integration-test sei-node-0 --exec /sei-protocol/sei-chain/integration_test/contracts/deploy_timelocked_token_contract.sh
kurtosis service shell sei-integration-test sei-node-0 --exec /sei-protocol/sei-chain/integration_test/wasm_module/timelocked_token_test_2.sh
kurtosis service shell sei-integration-test sei-node-0 --exec "/sei-protocol/sei-chain/integration_test/contracts/deploy_timelocked_token_contract.sh migration"
kurtosis service shell sei-integration-test sei-node-0 --exec /sei-protocol/sei-chain/integration_test/wasm_module/timelocked_token_test_3.sh

0 comments on commit 2053bd4

Please sign in to comment.