-
Notifications
You must be signed in to change notification settings - Fork 831
116 lines (96 loc) · 3.59 KB
/
Copy pathtest.yaml
File metadata and controls
116 lines (96 loc) · 3.59 KB
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
---
name: Test
on:
workflow_call:
workflow_dispatch:
pull_request:
permissions: {}
jobs:
test:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- name: Checkout master
run: git checkout master && git checkout - && git rev-parse HEAD
- name: Configure Git
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
- name: Check hub-manager if values schema is up-to-date
uses: losisin/helm-values-schema-json-action@9ed68d9d464a5e6f7f5fc1f3dc071828cf7d13a2 # v3.2.0
with:
working-directory: hub-manager
fail-on-diff: true
useHelmDocs: true
- name: Check traefik if values schema is up-to-date
uses: losisin/helm-values-schema-json-action@9ed68d9d464a5e6f7f5fc1f3dc071828cf7d13a2 # v3.2.0
with:
working-directory: traefik
fail-on-diff: true
useHelmDocs: true
- name: Lint Chart
run: make lint
- name: Install Helm
uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # v5.0.1
with:
# renovate: datasource=github-releases depName=helm/helm
version: v4.2.4
- name: Install helm-unittest plugin
env:
# renovate: datasource=github-releases depName=helm-unittest/helm-unittest
HELM_UNITTEST_VERSION: 1.1.0
# --verify=false: Helm v4 verifies plugins by default, but the GitHub-release
# source ships no verification data, so the install fails without it.
run: helm plugin install https://github.com/helm-unittest/helm-unittest --version "$HELM_UNITTEST_VERSION" --verify=false
- name: Test Chart
run: make test
- name: Test overrideNamespace
run: make test-ns
- name: Test changelog annotations
run: make test-changelog
- name: Check Renovate appVersion hints
run: make check-renovate
- name: Test if it's a release PR
id: check
run: |
set +e
changed=$(git diff --name-only -r HEAD^1 HEAD | grep Chart.yaml)
if [[ -n $changed ]] ; then
echo "release=true" >> "$GITHUB_OUTPUT"
fi
set -e
- name: Check docs
run: |
set +e
make docs
changed=$(git status | grep VALUES.md)
if [[ -n $changed ]]; then
echo "Traefik values have changed. Run make docs"
git diff
exit 1
fi
set -e
exit 0
- name: Lint markdown
uses: nosborn/github-action-markdown-cli@508d6cefd8f0cc99eab5d2d4685b1d5f470042c1 # v3.5.0
with:
files: "{EXAMPLES,README,CONTRIBUTING}.md hub-manager/README.md"
config_file: .markdownlint.json
- name: Create kind cluster
if: steps.check.outputs.release
uses: helm/kind-action@06c1ae10762d3b9c1644e7fe69596ae519e015a2 # v1.15.0
- name: Install LB on Kind
if: steps.check.outputs.release
run: |
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.11/config/manifests/metallb-native.yaml
kubectl wait --namespace metallb-system --for=condition=ready pod --selector=app=metallb --timeout=90s
kubectl apply -f hack/metallb-config.yaml
- name: Check install on Kind (standard)
if: steps.check.outputs.release
run: |
make test-install