-
Notifications
You must be signed in to change notification settings - Fork 4
133 lines (105 loc) · 2.83 KB
/
main.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: Main
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
format_and_lint_js:
name: Format & Lint JS
runs-on: ubuntu-latest
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Setup Environment
uses: ./.github/actions/setup
with:
js: true
- name: Install Dependencies
run: cd js && pnpm install --frozen-lockfile
- name: Format
run: cd js && pnpm format
- name: Lint
run: cd js && pnpm lint
test_js:
name: Test JS
runs-on: ubuntu-latest
needs: format_and_lint_js
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Setup Environment
uses: ./.github/actions/setup
with:
js: true
- name: Install Dependencies
run: cd js && pnpm install --frozen-lockfile
- name: Build code
run: cd js && pnpm build
- name: Run tests
run: cd js && pnpm test
format_and_lint_js_v1:
name: Format & Lint JS (web3.js v1)
runs-on: ubuntu-latest
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Setup Environment
uses: ./.github/actions/setup
with:
js: true
- name: Install Dependencies
run: cd js-v1 && pnpm install --frozen-lockfile
- name: Format
run: cd js-v1 && pnpm format
- name: Lint
run: cd js-v1 && pnpm lint
test_js_v1:
name: Test JS (web3.js v1)
runs-on: ubuntu-latest
needs: format_and_lint_js
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Setup Environment
uses: ./.github/actions/setup
with:
js: true
- name: Install Dependencies
run: cd js-v1 && pnpm install --frozen-lockfile
- name: Build code
run: cd js-v1 && pnpm build
- name: Run tests
run: cd js-v1 && pnpm test
format_and_lint_rust:
name: Format & Lint Rust
runs-on: ubuntu-latest
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Setup Environment
uses: ./.github/actions/setup
with:
clippy: true
rustfmt: true
cargo-cache-key: cargo-lint-tests
cargo-cache-fallback-key: cargo-lint
- name: Format Rust
run: cd rust && cargo fmt --check
- name: Lint Rust
run: cd rust && cargo clippy
test_rust:
name: Test Rust
runs-on: ubuntu-latest
needs: format_and_lint_rust
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Setup Environment
uses: ./.github/actions/setup
with:
rust: true
cargo-cache-key: cargo-rust-tests
cargo-cache-fallback-key: cargo-rust
- name: Run tests
run: cd rust && cargo test