1+ name : CI
2+
3+ on :
4+ push :
5+ branches :
6+ - " master"
7+ pull_request :
8+ branches :
9+ - " *"
10+
11+ defaults :
12+ run :
13+ shell : bash
14+
15+ env :
16+ # go needs absolute directories, using the $HOME variable doesn't work here.
17+ GOCACHE : /home/runner/work/go/pkg/build
18+ GOPATH : /home/runner/work/go
19+ GO111MODULE : on
20+
21+ # If you change this value, please change it in the following files as well:
22+ # /Dockerfile
23+ GO_VERSION : 1.17
24+
25+ jobs :
26+ # #######################
27+ # RPC compile and check
28+ # #######################
29+ rpc-check :
30+ name : RPC compilation check
31+ runs-on : ubuntu-latest
32+ steps :
33+ - name : git checkout
34+ uses : actions/checkout@v2
35+
36+ - name : setup go ${{ env.GO_VERSION }}
37+ uses : actions/setup-go@v2
38+ with :
39+ go-version : ' ~${{ env.GO_VERSION }}'
40+
41+ - name : RPC for JS compilation
42+ run : make rpc-js-compile
43+
44+ - name : run check
45+ run : make rpc-check
46+
47+ # #######################
48+ # go mod check
49+ # #######################
50+ mod-check :
51+ name : go mod check
52+ runs-on : ubuntu-latest
53+ steps :
54+ - name : git checkout
55+ uses : actions/checkout@v2
56+
57+ - name : setup go ${{ env.GO_VERSION }}
58+ uses : actions/setup-go@v2
59+ with :
60+ go-version : ' ~${{ env.GO_VERSION }}'
61+
62+ - name : run check
63+ run : make mod-check
64+
65+ # #######################
66+ # build and lint code
67+ # #######################
68+ lint :
69+ name : build and lint code
70+ runs-on : ubuntu-latest
71+ steps :
72+ - name : git checkout
73+ uses : actions/checkout@v2
74+ with :
75+ fetch-depth : 0
76+
77+ - name : go cache
78+ uses : actions/cache@v1
79+ with :
80+ path : /home/runner/work/go
81+ key : lnd-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-${{ hashFiles('**/go.sum') }}
82+ restore-keys : |
83+ loop-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-${{ hashFiles('**/go.sum') }}
84+ loop-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-
85+ loop-${{ runner.os }}-go-${{ env.GO_VERSION }}-
86+ loop-${{ runner.os }}-go-
87+
88+ - name : setup go ${{ env.GO_VERSION }}
89+ uses : actions/setup-go@v2
90+ with :
91+ go-version : ' ~${{ env.GO_VERSION }}'
92+
93+ - name : build
94+ run : make build tags=dev
95+
96+ - name : lint
97+ run : make lint
98+
99+ # #######################
100+ # run unit tests
101+ # #######################
102+ unit-test :
103+ name : run unit tests
104+ runs-on : ubuntu-latest
105+ steps :
106+ - name : git checkout
107+ uses : actions/checkout@v2
108+
109+ - name : go cache
110+ uses : actions/cache@v1
111+ with :
112+ path : /home/runner/work/go
113+ key : lnd-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-${{ hashFiles('**/go.sum') }}
114+ restore-keys : |
115+ loop-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-${{ hashFiles('**/go.sum') }}
116+ loop-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-
117+ loop-${{ runner.os }}-go-${{ env.GO_VERSION }}-
118+ loop-${{ runner.os }}-go-
119+
120+ - name : setup go ${{ env.GO_VERSION }}
121+ uses : actions/setup-go@v2
122+ with :
123+ go-version : ' ~${{ env.GO_VERSION }}'
124+
125+ - name : run unit tests
126+ run : make unit
0 commit comments