-
Notifications
You must be signed in to change notification settings - Fork 1
81 lines (76 loc) · 1.95 KB
/
main.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
on:
push:
branches:
- "main"
name: main
jobs:
build-and-verify:
name: Build and verify
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v3
with:
go-version: 1.17.x
- uses: actions/checkout@v3
- name: Install project dependencies
shell: bash
run: make deps.install
# Ensure generated code is checked-in to git
- name: Generate specs
shell: bash
run: make generate
- name: Ensure there's no uncommited git changes after generating code
shell: bash
run: |
if [[ `git status --porcelain` ]]; then
echo "ERROR: uncommited codegen changes detected!";
git status --porcelain;
exit 1;
else
echo "No uncommited changes detected";
fi
# Verify
- name: Verify specs and code
shell: bash
run: |
make verify
unit-test:
name: Run unit tests
runs-on: ubuntu-latest
needs:
- build-and-verify
strategy:
matrix:
test-harness: [go, rust, kotlin, dart]
steps:
- uses: actions/setup-go@v3
with:
go-version: 1.17.x
- uses: actions/checkout@v3
- name: Run unit tests
shell: bash
run: |
cd "test-harnesses/${{ matrix.test-harness }}";
make deps.install;
make test.unit.report;
smoke-test:
name: Run smoke tests
runs-on: ubuntu-latest
needs:
- unit-test
strategy:
matrix:
test-harness: [go, rust, kotlin, dart]
steps:
- uses: actions/setup-go@v3
with:
go-version: 1.17.x
- uses: actions/checkout@v3
- name: Run smoke tests
shell: bash
env:
SLACK_OAUTH_ACCESS_TOKEN: ${{ secrets.SLACK_OAUTH_ACCESS_TOKEN }}
run: |
cd "test-harnesses/${{ matrix.test-harness }}";
make deps.install;
make test.smoke.report;