generated from PaulRBerg/hardhat-template
-
Notifications
You must be signed in to change notification settings - Fork 4
133 lines (108 loc) · 3.66 KB
/
integration.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
name: "INTEGRATION"
env:
HARDHAT_VAR_MNEMONIC: "test test test test test test test test test test test junk"
HARDHAT_VAR_INFURA_API_KEY: "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
PRIVATE_KEY: "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
jobs:
test-net:
runs-on: "ubuntu-latest"
steps:
- name: "Check out the repo"
uses: "actions/checkout@v4"
- name: "Setup node"
uses: actions/setup-node@v2
with:
node-version: 20
- name: "Run network tests"
run: "yarn test:integration net --no-prebuild"
- name: "Add test summary"
run: |
echo "## Network test results" >> $GITHUB_STEP_SUMMARY
echo "✅ Passed" >> $GITHUB_STEP_SUMMARY
prebuild:
runs-on: "ubuntu-latest"
steps:
- name: "Check out the repo"
uses: "actions/checkout@v4"
- name: "Setup node"
uses: actions/setup-node@v2
with:
node-version: 20
- name: Install Rust 1.81.0
uses: actions-rs/toolchain@v1
with:
toolchain: 1.81.0
override: true
- name: Cache node modules
uses: actions/cache@v4
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: "Install the dependencies"
run: "yarn install"
- name: "Lint the code"
run: "yarn lint"
- name: "Add lint summary"
run: |
echo "## Lint results" >> $GITHUB_STEP_SUMMARY
echo "✅ Passed" >> $GITHUB_STEP_SUMMARY
- name: "Compile the contracts and generate the TypeChain bindings"
run: "yarn typechain"
- name: "Run prebuild"
run: "yarn test:integration prebuild"
- name: "Upload build artifacts"
uses: actions/upload-artifact@v3
with:
name: build-artifacts
path: |
packages/ciphernode/target/debug/enclave
packages/ciphernode/target/debug/fake_encrypt
packages/ciphernode/target/debug/pack_e3_params
test:
needs: prebuild
runs-on: "ubuntu-latest"
strategy:
matrix:
test-suite: [base, persist]
fail-fast: false
steps:
- name: "Check out the repo"
uses: "actions/checkout@v4"
- name: "Setup node"
uses: actions/setup-node@v2
with:
node-version: 20
- name: Install Rust 1.81.0
uses: actions-rs/toolchain@v1
with:
toolchain: 1.81.0
override: true
- name: Cache node modules
uses: actions/cache@v4
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- name: "Install the dependencies"
run: "yarn install"
- name: "Download build artifacts"
uses: actions/download-artifact@v3
with:
name: build-artifacts
path: packages/ciphernode/target/debug/
- name: "Set executable permissions"
run: |
chmod +x packages/ciphernode/target/debug/enclave
chmod +x packages/ciphernode/target/debug/fake_encrypt
chmod +x packages/ciphernode/target/debug/pack_e3_params
- name: "Run ${{ matrix.test-suite }} tests"
run: "yarn test:integration ${{ matrix.test-suite }} --no-prebuild"
- name: "Add test summary"
run: |
echo "## Test results for ${{ matrix.test-suite }}" >> $GITHUB_STEP_SUMMARY
echo "✅ Passed" >> $GITHUB_STEP_SUMMARY