-
Notifications
You must be signed in to change notification settings - Fork 33
148 lines (137 loc) · 3.83 KB
/
ci.yaml
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
name: rust ci
on:
push:
tags:
- "[0-9]+.[0-9]+.[0-9]+"
- "[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+"
branches: ["*"]
# - "release**"
# - "main"
# - "*ci*"
pull_request:
types:
- opened
- synchronize
branches:
- "release**"
- "main"
env:
DIEM_FORGE_NODE_BIN_PATH: ${{github.workspace}}/diem-node
LIBRA_CI: 1
MODE_0L: "TESTNET"
jobs:
build-framework:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: setup env
uses: ./.github/actions/build_env
- name: build framework
working-directory: ./framework
run: cargo r release
- uses: actions/upload-artifact@master
with:
name: framework-build
path: framework/*
types:
needs: [build-framework]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: setup env
uses: ./.github/actions/build_env
# fail fast if types doesnt compile, everything else will fail.
- name: types
working-directory: ./types
run: cargo test --no-fail-fast
wallet:
needs: [build-framework]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: setup env
uses: ./.github/actions/build_env
- name: wallet
if: always()
working-directory: ./tools/wallet
run: cargo test --no-fail-fast
# NOTE: all jobs below need the fresh framework build
smoke:
needs: [build-framework]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: setup env
uses: ./.github/actions/build_env
# make sure we have a fresh framework build
- uses: actions/download-artifact@master
with:
name: framework-build
path: framework/
# Check test suite meta tests
- name: smoke-tests # NOTE: needs working DIEM_FORGE_NODE_BIN_PATH
if: always()
working-directory: ./smoke-tests
run: cargo test --no-fail-fast
query:
needs: [build-framework]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: setup env
uses: ./.github/actions/build_env
- uses: actions/download-artifact@master
with:
name: framework-build
path: framework/
# Tools tests (some use smoke-tests)
- name: query
if: always()
working-directory: ./tools/query
run: cargo test --no-fail-fast
genesis:
needs: [build-framework]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: setup env
uses: ./.github/actions/build_env
- uses: actions/download-artifact@master
with:
name: framework-build
path: framework/
- name: genesis
if: always()
working-directory: ./tools/genesis
run: cargo test --no-fail-fast
tower:
needs: [build-framework]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: setup env
uses: ./.github/actions/build_env
- uses: actions/download-artifact@master
with:
name: framework-build
path: framework/
- name: tower
if: always()
working-directory: ./tools/tower
run: cargo test --no-fail-fast
txs:
needs: [build-framework]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: setup env
uses: ./.github/actions/build_env
- uses: actions/download-artifact@master
with:
name: framework-build
path: framework/
- name: txs
if: always()
working-directory: ./tools/txs
# NOTE: upgrade tests which compile Move code, and then submit in the same thread will cause a stack overflow with the default rust stack size.
run: RUST_MIN_STACK=104857600 cargo test --no-fail-fast