forked from ethereum/go-ethereum
-
Notifications
You must be signed in to change notification settings - Fork 286
157 lines (133 loc) · 3.54 KB
/
Copy pathl2geth_ci.yml
File metadata and controls
157 lines (133 loc) · 3.54 KB
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
name: CI
on:
push:
branches: # we keep this to avoid triggering `push` & `pull_request` every time we update a PR
- main
- staging
- develop
- alpha
pull_request:
types:
- opened
- reopened
- synchronize
- ready_for_review
jobs:
build-mock-ccc-geth: # build geth with mock circuit capacity checker
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
permissions: {}
steps:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.22.x
- name: Checkout code
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Build
run: |
make nccc_geth
build-geth: # build geth with circuit capacity checker
if: github.event_name == 'push' # will only be triggered when pushing to main & staging & develop & alpha
runs-on: ubuntu-latest
permissions: {}
steps:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.22.x
- name: Install rust
uses: actions-rust-lang/setup-rust-toolchain@9399c7bb15d4c7d47b27263d024f0a4978346ba4 # v1.11.0
with:
toolchain: nightly-2023-12-03
override: true
components: rustfmt, clippy
- name: Checkout code
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Build
run: |
make libzkp
sudo cp ./rollup/ccc/libzkp/libzkp.so /usr/local/lib/
make geth
check:
# if: github.event.pull_request.draft == false
if: false
runs-on: ubuntu-latest
permissions: {}
steps:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.22.x
- name: Checkout code
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Lint
run: |
rm -rf $HOME/.cache/golangci-lint
make lint
goimports-lint:
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
permissions: {}
steps:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.18.x
- name: Install goimports
run: go install golang.org/x/tools/cmd/goimports@v0.24.0
- name: Checkout code
uses: actions/checkout@v4
with:
persist-credentials: false
- run: goimports -local github.com/scroll-tech/go-ethereum/ -w .
# If there are any diffs from goimports, fail.
- name: Verify no changes from goimports
run: |
if [ -n "$(git status --porcelain)" ]; then
exit 1
fi
go-mod-tidy-lint:
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
permissions: {}
steps:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.22.x
- name: Checkout code
uses: actions/checkout@v4
with:
persist-credentials: false
- run: go mod tidy
# If there are any diffs from go mod tidy, fail.
- name: Verify no changes from go mod tidy
run: |
if [ -n "$(git status --porcelain)" ]; then
exit 1
fi
test:
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
permissions: {}
steps:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.22.x
- name: Checkout code
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Test
run: |
make test
- name: Upload coverage report
run: bash <(curl -s https://codecov.io/bash)