-
Notifications
You must be signed in to change notification settings - Fork 17
141 lines (123 loc) · 4.82 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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
name: Testing
on:
pull_request:
push:
branches: [main]
jobs:
test-node:
name: testing
#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: Cache npm dependencies
uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies Hashconnect
run: |
npm ci
npm run build
working-directory: hashconnect/lib
- name: Install dependencies Backend
run: |
npm ci
npm run build
working-directory: backend
- name: Install dependencies Contracts
run: |
npm ci
npm run compile:force
working-directory: contracts
- name: Install dependencies SDK
run: |
npm ci
npm run build
working-directory: sdk
- name: Install dependencies Cli
run: |
npm ci
npm run build
working-directory: cli
- name: Install dependencies web
run: npm ci
working-directory: web
- name: Create file
run: |
touch .env
echo "CLIENT_PRIVATE_KEY_ECDSA=${{ secrets.CLIENT_PRIVATE_KEY_ECDSA }}" >> .env
echo "CLIENT_PUBLIC_KEY_ECDSA=${{ secrets.CLIENT_PUBLIC_KEY_ECDSA }}" >> .env
echo "CLIENT_EVM_ADDRESS_ECDSA=${{ secrets.CLIENT_EVM_ADDRESS_ECDSA }}" >> .env
echo "CLIENT_ACCOUNT_ID_ECDSA=${{ secrets.CLIENT_ACCOUNT_ID_ECDSA }}" >> .env
echo "CLIENT_PRIVATE_KEY_ED25519=${{ secrets.CLIENT_PRIVATE_KEY_ED25519 }}" >> .env
echo "CLIENT_PUBLIC_KEY_ED25519=${{ secrets.CLIENT_PUBLIC_KEY_ED25519 }}" >> .env
echo "CLIENT_EVM_ADDRESS_ED25519=${{ secrets.CLIENT_EVM_ADDRESS_ED25519 }}" >> .env
echo "CLIENT_ACCOUNT_ID_ED25519=${{ secrets.CLIENT_ACCOUNT_ID_ED25519 }}" >> .env
echo "CLIENT_PRIVATE_KEY_ED25519_2=${{ secrets.CLIENT_PRIVATE_KEY_ED25519_2 }}" >> .env
echo "CLIENT_PUBLIC_KEY_ED25519_2=${{ secrets.CLIENT_PUBLIC_KEY_ED25519_2 }}" >> .env
echo "CLIENT_EVM_ADDRESS_ED25519_2=${{ secrets.CLIENT_EVM_ADDRESS_ED25519_2 }}" >> .env
echo "CLIENT_ACCOUNT_ID_ED25519_2=${{ secrets.CLIENT_ACCOUNT_ID_ED25519_2 }}" >> .env
echo "HEDERA_TOKEN_MANAGER_ADDRESS=0.0.2167020" >> .env
echo "FACTORY_ADDRESS=0.0.2167166" >> .env
working-directory: sdk
- name: Create contracts
run: |
touch .env
echo "TESTNET_HEDERA_OPERATOR_PRIVATEKEY=${{ secrets.TESTNET_HEDERA_OPERATOR_PRIVATEKEY }}" >> .env
echo "TESTNET_HEDERA_OPERATOR_PUBLICKEY=${{ secrets.TESTNET_HEDERA_OPERATOR_PUBLICKEY }}" >> .env
echo "TESTNET_HEDERA_OPERATOR_ED25519='true'" >> .env
echo "TESTNET_HEDERA_OPERATOR_ACCOUNT=${{ secrets.TESTNET_HEDERA_OPERATOR_ACCOUNT }}" >> .env
echo "TESTNET_HEDERA_NON_OPERATOR_PRIVATEKEY=${{ secrets.TESTNET_HEDERA_NON_OPERATOR_PRIVATEKEY }}" >> .env
echo "TESTNET_HEDERA_NON_OPERATOR_PUBLICKEY=${{ secrets.TESTNET_HEDERA_NON_OPERATOR_PUBLICKEY }}" >> .env
echo "TESTNET_HEDERA_NON_OPERATOR_ED25519='false'" >> .env
echo "TESTNET_HEDERA_NON_OPERATOR_ACCOUNT=${{ secrets.TESTNET_HEDERA_NON_OPERATOR_ACCOUNT }}" >> .env
working-directory: contracts
- name: Test backend
run: |
npm run test
npm run cleanCache
working-directory: backend
- name: Test cli
run: |
npm run test:ci
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