11name : CI/CD Pipeline
22
33on :
4- push :
5- branches :
6- - main
74 pull_request :
8- branches :
9- - main
10- workflow_dispatch : # Allows you to manually trigger the workflow
5+ types : [opened, reopened, synchronize]
116
127jobs :
13- build :
14- name : Build Contracts
8+ auto-assign :
159 runs-on : ubuntu-latest
16-
17- steps :
18- - name : Checkout code
19- uses : actions/checkout@v3
20-
21- - name : Set up Node.js
22- uses : actions/setup-node@v3
23- with :
24- node-version : 18
25-
26- - name : Install dependencies
27- run : npm install
28-
29- - name : Compile contracts
30- run : npx hardhat compile
31-
32- test :
33- name : Run Tests
34- runs-on : ubuntu-latest
35- needs : build # Ensures tests run after build stage
36-
37- steps :
38- - name : Checkout code
39- uses : actions/checkout@v3
40-
41- - name : Set up Node.js
42- uses : actions/setup-node@v3
43- with :
44- node-version : 18
45-
46- - name : Install dependencies
47- run : npm install
48-
49- - name : Run tests
50- run : npx hardhat test
51-
52- deploy :
53- name : Deploy Contracts
54- runs-on : ubuntu-latest
55- needs : test # Ensures deployment runs after tests pass
56-
5710 steps :
58- - name : Checkout code
59- uses : actions/checkout@v3
11+ - name : Checkout code
12+ uses : actions/checkout@v2
6013
61- - name : Set up Node.js
62- uses : actions/setup-node@v3
63- with :
64- node-version : 18
14+ - name : Set up Node.js
15+ uses : actions/setup-node@v2
16+ with :
17+ node-version : ' 14 '
6518
66- - name : Install dependencies
67- run : npm install
19+ - name : Install dependencies
20+ run : npm install --legacy-peer-deps
6821
69- - name : Deploy contracts
70- run : npx hardhat run scripts/deploy.js --network mainnet
71- env :
72- PRIVATE_KEY : ${{ secrets.PRIVATE_KEY }}
73- INFURA_API_KEY : ${{ secrets.INFURA_API_KEY }}
22+ - name : Auto assign reviewers
23+ uses : kentaro-m/auto-assign-action@v1
24+ with :
25+ reviewers : ' your-reviewer-username'
0 commit comments