-
Notifications
You must be signed in to change notification settings - Fork 147
144 lines (122 loc) · 3.46 KB
/
build-test.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
134
135
136
137
138
139
140
141
142
143
144
name: Test
on:
pull_request:
branches: [develop]
jobs:
build:
name: Test
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v4
with:
go-version: "1.20"
id: go
- name: Check out code into the Go module directory
uses: actions/checkout@v3
- name: Install solc
run: |
sudo apt update
sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc
- name: Get dependencies
run: |
make wasm
go get -v -t -d ./...
- name: Build
run: make build
- name: Test
run: make test-short
contract-test:
name: Wasm contract tests
runs-on: ubuntu-latest
strategy:
matrix:
TEST_LANG: [go, rswasm]
steps:
- name: checkout to the directory
uses: actions/checkout@v3
- name: install golang
uses: actions/setup-go@v4
with:
go-version: "1.20"
- name: Install solc
run: |
sudo apt update
sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc
- name: install rust-toolchain
uses: actions-rs/[email protected]
with:
toolchain: stable
- name: install wasm-pack
run: |
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- name: install schema
run: |
root_path=$(git rev-parse --show-toplevel)
go install $root_path/tools/schema
schema -go
- name: run builds
env:
TEST_LANG: ${{matrix.TEST_LANG}}
run: |
cd contracts/wasm/scripts
bash core_build.sh
if [ $TEST_LANG == "rswasm" ]; then
bash rust_all.sh ci
fi
- name: run tests
env:
TEST_LANG: ${{matrix.TEST_LANG}}
run: |
make compile-solidity
cd contracts/wasm
if [ $TEST_LANG == "go" ]; then
go test ./...
elif [ $TEST_LANG == "rswasm" ]; then
go test ./... -rswasm
fi
golangci:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v4
with:
go-version: "1.20"
id: go
- name: Check out code into the Go module directory
uses: actions/checkout@v3
- name: Install solc
run: |
sudo apt update
sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc
- name: Compile solidity contracts
run: make compile-solidity
# - name: Generate SC files
# run: |
# cd contracts/wasm/scripts
# bash schema_all.sh
# - name: golangci-lint in SC
# uses: golangci/golangci-lint-action@v3
# with:
# working-directory: contracts/wasm
# args: --fix --timeout 5m0s --path-prefix=""
# skip-pkg-cache: true
- name: Run global scope golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: v1.53.2
args: --timeout 15m0s
skip-pkg-cache: true
- name: Run golangci-lint on wasp-cli
uses: golangci/golangci-lint-action@v3
with:
working-directory: tools/wasp-cli
version: v1.53.2
args: --timeout 15m0s
skip-pkg-cache: true