-
Notifications
You must be signed in to change notification settings - Fork 59
77 lines (77 loc) · 2.14 KB
/
tests.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
name: "Test Helm Charts"
on:
push:
branches-ignore: ['renovate/**']
pull_request:
env:
helm-version: v3.11.0
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up chart-testing
uses: helm/[email protected]
- name: Run chart-testing (lint)
run: make lint
- name: Run ShellCheck on scripts shipped with helm chart
uses: ludeeus/action-shellcheck@master
with:
scandir: './chart/scripts'
- name: Run ShellCheck on development scripts
uses: ludeeus/action-shellcheck@master
with:
scandir: './scripts'
severity: error
test:
runs-on: ubuntu-latest
strategy:
matrix:
kube:
- "1.23"
- "1.24"
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Increase fs watchers
run: |
sudo sysctl fs.inotify.max_user_watches=524288
sudo sysctl fs.inotify.max_user_instances=524288
- name: Set up chart-testing
uses: helm/[email protected]
- name: Start kuberenetes cluster with cert-manager
env:
KUBE_VERSION: ${{ matrix.kube }}
run: |
make start-kind
make cert-manager
- name: Start timescaledb-single helm chart install
run: |
make timescaledb
- name: Wait for cluster to finish bootstraping
run: kubectl wait --for=condition=Ready pods --all --all-namespaces --timeout=300s
- name: Run e2e chart-testing
run: make e2e
- name: Setup tmate session
if: ${{ failure() }}
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
test-result:
name: End-to-End Test Results
if: always()
needs:
- test
runs-on: ubuntu-latest
steps:
- name: Mark the job as a success
if: needs.test.result == 'success'
run: exit 0
- name: Mark the job as a failure
if: needs.test.result != 'success'
run: exit 1