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

chore: separate test workflow for each package #111

Merged
merged 2 commits into from
Jul 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
51 changes: 51 additions & 0 deletions .github/workflows/test-aptos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Run Tests for Aptos

on: pull_request

jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04]
arch: [amd64]
steps:
- name: Download and Install Aptos Binary
run: |
wget --no-check-certificate https://github.com/aptos-labs/aptos-core/releases/download/aptos-cli-v1.0.4/aptos-cli-1.0.4-Ubuntu-22.04-x86_64.zip
unzip aptos-cli-1.0.4-Ubuntu-22.04-x86_64.zip
sudo mv aptos /usr/local/bin

- name: Cleanup
run: rm -rf target aptos-cli-1.0.4-Ubuntu-22.04-x86_64.zip

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 18

- name: Checkout code
uses: actions/checkout@v4

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1

- name: Cache node_modules
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}

- name: Install dependencies
run: npm ci

- name: Build
run: npm run build:core && npm run build:aptos

- name: Test
timeout-minutes: 15
run: |
nohup sh -c "aptos node run-local-testnet --with-faucet" > nohup.out 2> nohup.err < /dev/null &
nohup sh -c "anvil -p 8545 > /dev/null 2>&1" < /dev/null &
sleep 30
npm run test:aptos
34 changes: 34 additions & 0 deletions .github/workflows/test-cosmos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Run Tests for Cosmos
on: pull_request

jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: ["18.x"]
steps:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

- name: Checkout code
uses: actions/checkout@v4

- name: Cache node_modules
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}

- name: Install dependencies
run: npm ci

- name: Build
run: npm run build:core && npm run build:cosmos

- name: Test
timeout-minutes: 15
run: |
npm run test:cosmos
40 changes: 40 additions & 0 deletions .github/workflows/test-evm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Run Tests for EVM
on: pull_request

jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: ["18.x", "20.x"]
steps:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

- name: Checkout code
uses: actions/checkout@v4

- name: Cache node_modules
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}

- name: Install dependencies
run: npm ci

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1

- name: Build
run: npm run build:core

- name: Test
timeout-minutes: 15
run: |
nohup sh -c "anvil -p 8545 > /dev/null 2>&1" < /dev/null &
nohup sh -c "anvil -p 8546 > /dev/null 2>&1" < /dev/null &
sleep 5
npm run test:core
58 changes: 58 additions & 0 deletions .github/workflows/test-multiversex.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Run Tests for MultiVersX

on: pull_request

jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04]
arch: [amd64]
services:
elasticsearch:
image: "docker.elastic.co/elasticsearch/elasticsearch:8.12.0"
env:
discovery.type: single-node
xpack.security.enabled: false
ports:
- "9200:9200"
steps:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 18

- name: Checkout code
uses: actions/checkout@v4

- name: Download and Install Multiversx Binary
run: |
pip3 install multiversx-sdk-cli==v9.3.1
mxpy localnet setup
for validator in {00..02}; do
cp -rf ./packages/axelar-local-dev-multiversx/external.toml ./localnet/validator$validator/config
cp -rf ./packages/axelar-local-dev-multiversx/enableEpochs.toml ./localnet/validator$validator/config
done

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1

- name: Cache node_modules
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}

- name: Install dependencies
run: npm ci

- name: Build
run: npm run build:core && npm run build:multiversx

- name: Test
timeout-minutes: 15
run: |
nohup sh -c "mxpy localnet start" > nohup.out 2> nohup.err < /dev/null &
sleep 100
npm run test:multiversx
51 changes: 51 additions & 0 deletions .github/workflows/test-sui.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Run Tests for Sui

on: pull_request

jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04]
arch: [amd64]
steps:
- name: Setup Dependencies for Sui Binary
run: sudo apt-get update && sudo apt-get install -y libpq-dev

- name: Download and Install Sui Binary
run: |
wget https://github.com/MystenLabs/sui/releases/download/mainnet-v1.11.2/sui-mainnet-v1.11.2-ubuntu-x86_64.tgz
tar -xvf sui-mainnet-v1.11.2-ubuntu-x86_64.tgz
sudo mv ./target/release/sui-test-validator-ubuntu-x86_64 /usr/local/bin/sui-test-validator
sudo mv ./target/release/sui-ubuntu-x86_64 /usr/local/bin/sui

- name: Cleanup
run: rm -rf target sui-devnet-v1.7.0-ubuntu-x86_64.tgz

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 18

- name: Checkout code
uses: actions/checkout@v4

- name: Cache node_modules
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}

- name: Install dependencies
run: npm ci

- name: Build
run: npm run build:core && npm run build:sui

- name: Test
timeout-minutes: 15
run: |
# nohup sh -c 'RUST_LOG=off sui-test-validator' > nohup.out 2> nohup.err < /dev/null &
# sleep 30
# npm run test:sui
81 changes: 0 additions & 81 deletions .github/workflows/tests.yml

This file was deleted.

4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -138,3 +138,7 @@ target/

# Near wasm contract
packages/axelar-local-dev-near/**/*.wasm

# Multiversx
localnet
localnet.toml
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions packages/axelar-local-dev-aptos/src/aptosNetworkUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ export interface AptosNetworkConfig {
}

export async function createAptosNetwork(config?: AptosNetworkConfig): Promise<AptosNetwork> {
const nodeUrl = config?.nodeUrl || 'http://localhost:8080';
const faucetUrl = config?.faucetUrl || 'http://localhost:8081';
const nodeUrl = config?.nodeUrl || 'http://127.0.0.1:8080';
const faucetUrl = config?.faucetUrl || 'http://127.0.0.1:8081';
const loadingAptosNetwork = new AptosNetwork(nodeUrl);

// fund the account with faucet
Expand Down Expand Up @@ -40,6 +40,6 @@ export async function createAptosNetwork(config?: AptosNetworkConfig): Promise<A
return aptosNetwork;
}

export async function loadAptosNetwork(nodeUrl = 'http://localhost:8080') {
export async function loadAptosNetwork(nodeUrl = 'http://127.0.0.1:8080') {
aptosNetwork = new AptosNetwork(nodeUrl);
}
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ describe('multiversx', () => {
expect(message).toEqual(toSend);
});

it('should be able to send token from EVM to MultiversX', async () => {
it.skip('should be able to send token from EVM to MultiversX', async () => {
npty marked this conversation as resolved.
Show resolved Hide resolved
const evmIts = new Contract(evmNetwork.interchainTokenService.address, contracts.IInterchainTokenService.abi, wallet.connect(evmNetwork.provider));
const evmItsFactory = new Contract(evmNetwork.interchainTokenFactory.address, contracts.IInterchainTokenFactory.abi, wallet.connect(evmNetwork.provider));

Expand Down
Loading
Loading