-
Notifications
You must be signed in to change notification settings - Fork 75
120 lines (110 loc) · 3.35 KB
/
build-and-test.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
name: "Build and test"
on:
push:
tags-ignore: ["*"] # tags run tagged-release workflow
branches: ["*"]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v1.1.2
with:
go-version: "1.14.3"
- name: setup goenv
run: |
echo "::set-env name=GOPATH::$(go env GOPATH)"
echo "::add-path::$(go env GOPATH)/bin"
shell: bash
- uses: actions/checkout@v2
- run: make all
- uses: actions/upload-artifact@v1
with:
name: schemahero
path: bin/schemahero
- uses: actions/upload-artifact@v1
with:
name: manager
path: bin/manager
- uses: actions/upload-artifact@v1
with:
name: kubectl-schemahero
path: bin/kubectl-schemahero
test-postgres:
runs-on: ubuntu-latest
needs: build
strategy:
matrix:
postgres_version: ["10.13", "11.8", "12.3"]
steps:
- uses: actions/checkout@v2
- name: Download schemahero binary
uses: actions/download-artifact@v1
with:
name: schemahero
path: bin/
- run: chmod +x bin/schemahero
- run: make -C integration/tests/postgres ${{matrix.postgres_version}}
test-mysql:
runs-on: ubuntu-latest
needs: build
strategy:
matrix:
mysql_version: ["5.6", "5.7", "8.0"]
steps:
- uses: actions/checkout@v2
- name: Download schemahero binary
uses: actions/download-artifact@v1
with:
name: schemahero
path: bin/
- run: chmod +x bin/schemahero
- run: make -C integration/tests/mysql ${{matrix.mysql_version}}
test-cockroach:
runs-on: ubuntu-latest
needs: build
strategy:
matrix:
cockroachdb_version: ["v19.2.7", "v20.1.0"]
steps:
- uses: actions/checkout@v2
- name: Download schemahero binary
uses: actions/download-artifact@v1
with:
name: schemahero
path: bin/
- run: chmod +x bin/schemahero
- run: make -C integration/tests/cockroach ${{matrix.cockroachdb_version}}
kots:
runs-on: ubuntu-latest
name: kots
needs: [test-mysql, test-postgres]
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Download kubectl-schemahero binary
uses: actions/download-artifact@v1
with:
name: kubectl-schemahero
path: bin/
- run: chmod +x bin/kubectl-schemahero
- uses: azure/docker-login@v1
with:
login-server: registry.replicated.com
username: ${{ secrets.REPLICATED_API_TOKEN }}
password: ${{ secrets.REPLICATED_API_TOKEN }}
- run: make kotsimages
- run: ./bin/kubectl-schemahero install --yaml --out-dir=./kots --enterprise --namespace="repl{{ Namespace }}" --enterprise-tag=alpha
- name: Lint the release
id: lint-action
uses: replicatedhq/action-kots-lint@v0.2.0
with:
replicated-app: "schemahero-enterprise"
replicated-api-token: ${{ secrets.REPLICATED_API_TOKEN }}
yaml-dir: kots
- name: Create the release
id: test-action
uses: replicatedhq/action-kots-release@v0.3.0
with:
replicated-app: "schemahero-enterprise"
replicated-api-token: ${{ secrets.REPLICATED_API_TOKEN }}
yaml-dir: kots