-
Notifications
You must be signed in to change notification settings - Fork 17
119 lines (107 loc) · 4.21 KB
/
all.testWithRpc.yml
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
name: Testing
on:
pull_request:
push:
branches: [main]
jobs:
test-node:
name: docker
#runs-on: [ self-hosted, Linux, medium, ephemeral ]
runs-on: ubuntu-latest
env:
NODE_OPTIONS: "--max-old-space-size=32768"
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608
- name: Build the Docker image
run: docker build -t rpc .
working-directory: dockerfile
- name: Setup NodeJS Environment
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d
with:
node-version: 18.x
- name: Install dependencies Hashconnect
run: |
npm install
npm run build
npm install
working-directory: hashconnect/lib
- name: Install dependencies Contracts
run: |
npm install
npm run compile:force
working-directory: contracts
- name: Install dependencies SDK
run: |
npm install
npm run build
working-directory: sdk
- name: Install dependencies Cli
run: |
npm install
npm run build
working-directory: cli
- name: Install dependencies web
run: npm install
working-directory: web
- name: Create file
run: |
touch .env
echo "CLIENT_PRIVATE_KEY_ECDSA=${{ secrets.PRIVATE_KEY_ECDSA }}" >> .env
echo "CLIENT_PUBLIC_KEY_ECDSA=${{ secrets.PUBLIC_KEY_ECDSA }}" >> .env
echo "CLIENT_EVM_ADDRESS_ECDSA=${{ secrets.EVM_ADDRESS_ECDSA }}" >> .env
echo "CLIENT_ACCOUNT_ID_ECDSA=${{ secrets.ACCOUNT_ID_ECDSA }}" >> .env
echo "CLIENT_PRIVATE_KEY_ED25519=${{ secrets.PRIVATE_KEY_ED25519 }}" >> .env
echo "CLIENT_PUBLIC_KEY_ED25519=${{ secrets.PUBLIC_KEY_ED25519 }}" >> .env
echo "CLIENT_EVM_ADDRESS_ED25519=${{ secrets.EVM_ADDRESS_ED25519 }}" >> .env
echo "CLIENT_ACCOUNT_ID_ED25519=${{ secrets.ACCOUNT_ID_ED25519 }}" >> .env
echo "CLIENT_PRIVATE_KEY_ED25519_2=${{ secrets.PRIVATE_KEY_ED25519_2 }}" >> .env
echo "CLIENT_PUBLIC_KEY_ED25519_2=${{ secrets.PUBLIC_KEY_ED25519_2 }}" >> .env
echo "CLIENT_EVM_ADDRESS_ED25519_2=${{ secrets.EVM_ADDRESS_ED25519_2 }}" >> .env
echo "CLIENT_ACCOUNT_ID_ED25519_2=${{ secrets.ACCOUNT_ID_ED25519_2 }}" >> .env
echo "HEDERA_TOKEN_MANAGER_ADDRESS=0.0.1137621" >> .env
echo "FACTORY_ADDRESS=0.0.1137631" >> .env
working-directory: sdk
- name: Create contracts
run: |
touch .env
echo "TESTNET_HEDERA_OPERATOR_PRIVATEKEY=${{ secrets.PRIVATE_KEY_ED25519 }}" >> .env
echo "TESTNET_HEDERA_OPERATOR_PUBLICKEY=${{ secrets.PUBLIC_KEY_ED25519 }}" >> .env
echo "TESTNET_HEDERA_OPERATOR_ED25519='true'" >> .env
echo "TESTNET_HEDERA_OPERATOR_ACCOUNT=${{ secrets.ACCOUNT_ID_ED25519 }}" >> .env
echo "TESTNET_HEDERA_NON_OPERATOR_PRIVATEKEY=${{ secrets.PRIVATE_KEY_ED25519_2 }}" >> .env
echo "TESTNET_HEDERA_NON_OPERATOR_PUBLICKEY=${{ secrets.PUBLIC_KEY_ED25519_2 }}" >> .env
echo "TESTNET_HEDERA_NON_OPERATOR_ED25519='true'" >> .env
echo "TESTNET_HEDERA_NON_OPERATOR_ACCOUNT=${{ secrets.ACCOUNT_ID_ED25519_2 }}" >> .env
working-directory: contracts
- name: Test cli
run: |
npm run test
npm run cleanCache
working-directory: cli
- name: Test web
run: |
npm run test
npm run cleanCache
working-directory: web
- name: Test Contracts
run: |
npm run test:parallel
npm run cleanCache
working-directory: contracts
- name: Run the Docker image
run: nohup docker run --network="host" rpc &
- name: Sleep for 25 seconds
run: sleep 25s
shell: bash
- name: DockerStatus
run: docker ps
- name: DockerStatus
run: curl --location --request POST 'http://localhost:7546/api' --data ""
- name: Test sdk
run: |
npm run test
npm run cleanCache
working-directory: sdk