Skip to content

Commit 4bfc431

Browse files
committed
feat: ci
1 parent 2c85ddd commit 4bfc431

File tree

1 file changed

+119
-0
lines changed

1 file changed

+119
-0
lines changed

.github/workflows/ci.yml

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
frontend:
15+
name: Frontend
16+
runs-on: ubuntu-latest
17+
defaults:
18+
run:
19+
working-directory: packages/frontend
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
24+
- name: Setup pnpm
25+
uses: pnpm/action-setup@v4
26+
with:
27+
version: 8
28+
29+
- name: Setup Node.js
30+
uses: actions/setup-node@v4
31+
with:
32+
node-version: '18'
33+
cache: 'pnpm'
34+
35+
- name: Install dependencies
36+
run: pnpm install --frozen-lockfile
37+
working-directory: .
38+
39+
- name: Lint
40+
run: pnpm lint
41+
42+
- name: Type check and Build
43+
run: pnpm build
44+
45+
contracts:
46+
name: Contracts
47+
runs-on: ubuntu-latest
48+
defaults:
49+
run:
50+
working-directory: packages/contracts
51+
steps:
52+
- name: Checkout
53+
uses: actions/checkout@v4
54+
with:
55+
submodules: recursive
56+
57+
- name: Install Foundry
58+
uses: foundry-rs/foundry-toolchain@v1
59+
60+
- name: Setup pnpm
61+
uses: pnpm/action-setup@v4
62+
with:
63+
version: 8
64+
65+
- name: Setup Node.js
66+
uses: actions/setup-node@v4
67+
with:
68+
node-version: '18'
69+
cache: 'pnpm'
70+
71+
- name: Install dependencies
72+
run: pnpm install --frozen-lockfile
73+
working-directory: .
74+
75+
- name: Install Forge dependencies
76+
run: forge install
77+
78+
- name: Lint (Format Check)
79+
run: pnpm lint
80+
81+
- name: Build
82+
run: pnpm build
83+
84+
- name: Test
85+
run: pnpm test
86+
87+
indexer:
88+
name: Indexer
89+
runs-on: ubuntu-latest
90+
defaults:
91+
run:
92+
working-directory: packages/indexer
93+
steps:
94+
- name: Checkout
95+
uses: actions/checkout@v4
96+
97+
- name: Setup pnpm
98+
uses: pnpm/action-setup@v4
99+
with:
100+
version: 8
101+
102+
- name: Setup Node.js
103+
uses: actions/setup-node@v4
104+
with:
105+
node-version: '18'
106+
cache: 'pnpm'
107+
108+
- name: Install dependencies
109+
run: pnpm install --frozen-lockfile
110+
working-directory: .
111+
112+
- name: Install Envio CLI
113+
run: npm install -g envio
114+
115+
- name: Codegen
116+
run: pnpm codegen
117+
118+
- name: Test
119+
run: pnpm test

0 commit comments

Comments
 (0)