forked from Finschia/ostracon
-
Notifications
You must be signed in to change notification settings - Fork 0
137 lines (132 loc) · 3.76 KB
/
abci.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
name: Tests
# Test runs different tests (test_abci_apps, test_abci_cli, test_apps)
# This workflow runs on every push to main or release branch and every pull requests
# All jobs will pass without running if no *{.go, .mod, .sum} files have been modified
on:
pull_request:
push:
branches:
- main
- release/**
jobs:
cleanup-runs:
runs-on: ubuntu-latest
steps:
- uses: rokroskar/workflow-run-cleanup-action@master
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/main'"
build-abci:
name: Build
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/setup-go@v4
with:
go-version: '1.20'
- uses: actions/checkout@v3
- uses: technote-space/get-diff-action@v6.1.2
with:
PATTERNS: |
**/**.go
go.mod
go.sum
- name: install
run: make install install_abci
if: "env.GIT_DIFF != ''"
- uses: actions/cache@v3
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
if: env.GIT_DIFF
# Cache binaries for use by other jobs
- uses: actions/cache@v3
with:
path: ~/go/bin
key: ${{ runner.os }}-${{ github.sha }}-oc-binary
if: env.GIT_DIFF
test_abci_apps:
runs-on: ubuntu-latest
needs: build-abci
timeout-minutes: 5
steps:
- uses: actions/setup-go@v4
with:
go-version: '1.20'
- uses: actions/checkout@v3
- uses: technote-space/get-diff-action@v6.1.2
with:
PATTERNS: |
**/**.go
go.mod
go.sum
- uses: actions/cache@v3
id: gobin-cache
with:
path: ~/go/bin
key: ${{ runner.os }}-${{ github.sha }}-oc-binary
if: env.GIT_DIFF
- name: Re-install when cannot get the cached binary
run: make install install_abci
if: steps.gobin-cache.outputs.cache-hit != 'true'
- name: test_abci_apps
run: abci/tests/test_app/test.sh
shell: bash
if: env.GIT_DIFF
test_abci_cli:
runs-on: ubuntu-latest
needs: build-abci
timeout-minutes: 5
steps:
- uses: actions/setup-go@v4
with:
go-version: '1.20'
- uses: actions/checkout@v3
- uses: technote-space/get-diff-action@v6.1.2
with:
PATTERNS: |
**/**.go
go.mod
go.sum
- uses: actions/cache@v3
id: gobin-cache
with:
path: ~/go/bin
key: ${{ runner.os }}-${{ github.sha }}-oc-binary
if: env.GIT_DIFF
- name: Re-install when cannot get the cached binary
run: make install install_abci
if: steps.gobin-cache.outputs.cache-hit != 'true'
- run: abci/tests/test_cli/test.sh
shell: bash
if: env.GIT_DIFF
test_apps:
runs-on: ubuntu-latest
needs: build-abci
timeout-minutes: 5
steps:
- uses: actions/setup-go@v4
with:
go-version: '1.20'
- uses: actions/checkout@v3
- uses: technote-space/get-diff-action@v6.1.2
with:
PATTERNS: |
**/**.go
go.mod
go.sum
- uses: actions/cache@v3
id: gobin-cache
with:
path: ~/go/bin
key: ${{ runner.os }}-${{ github.sha }}-oc-binary
if: env.GIT_DIFF
- name: Re-install when cannot get the cached binary
run: make install install_abci
if: steps.gobin-cache.outputs.cache-hit != 'true'
- name: test_apps
run: test/app/test.sh
shell: bash
if: env.GIT_DIFF