88 - reopened
99
1010jobs :
11- build :
11+ lint-chart :
1212 runs-on : ubuntu-latest
13- outputs :
14- profiles : ${{ steps.profiles.outputs.matrix }}
1513 steps :
14+ - name : Harden Runner
15+ uses : step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0
16+ with :
17+ egress-policy : audit
18+ - name : Checkout
19+ uses : actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
20+ with :
21+ fetch-depth : 0
22+
23+ - name : Set up Helm
24+ uses : azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
25+ with :
26+ version : v3.4.0
27+
28+ - uses : actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0
29+ with :
30+ python-version : 3.7
31+
32+ - name : Set up chart-testing
33+ uses : helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1
34+
35+ - name : Run chart-testing (list-changed)
36+ id : list-changed
37+ run : |
38+ changed=$(ct list-changed --target-branch=master --chart-dirs chart)
39+ if [[ -n "$changed" ]]; then
40+ echo "::set-output name=changed::true"
41+ fi
42+ - name : Run chart-testing (lint)
43+ run : ct lint --target-branch=master --chart-dirs chart --check-version-increment=false
44+
45+ fmt :
46+ runs-on : ubuntu-latest
47+ steps :
48+ - name : Harden Runner
49+ uses : step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0
50+ with :
51+ egress-policy : audit
1652 - name : Checkout
1753 uses : actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
1854 - name : Setup Go
19- uses : actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5 .0
55+ uses : actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1 .0
2056 with :
2157 go-version : 1.20.x
2258 - name : Restore Go cache
@@ -32,14 +68,68 @@ jobs:
3268 run : make vet
3369 - name : lint
3470 run : make lint
35- - name : test
36- run : make test
71+ - name : Check if working tree is dirty
72+ run : |
73+ if [[ $(git diff --stat) != '' ]]; then
74+ git --no-pager diff
75+ echo 'run <make test> and commit changes'
76+ exit 1
77+ fi
78+
79+ test :
80+ runs-on : ubuntu-latest
81+ strategy :
82+ matrix :
83+ kubernetes-version :
84+ - " 1.25"
85+ - " 1.26"
86+ - " 1.27"
87+ - " 1.28"
88+ steps :
89+ - name : Harden Runner
90+ uses : step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0
91+ with :
92+ egress-policy : audit
93+ - name : Checkout
94+ uses : actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
95+ - name : Setup Go
96+ uses : actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
97+ with :
98+ go-version : 1.20.x
99+ - name : Restore Go cache
100+ uses : actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
101+ with :
102+ path : ~/go/pkg/mod
103+ key : ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
104+ restore-keys : |
105+ ${{ runner.os }}-go-
106+ - name : run test
107+ run : make test ENVTEST_K8S_VERSION=${{ matrix.kubernetes-version }}
108+
109+ build :
110+ runs-on : ubuntu-latest
111+ outputs :
112+ profiles : ${{ steps.profiles.outputs.matrix }}
113+ steps :
114+ - name : Harden Runner
115+ uses : step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0
116+ with :
117+ egress-policy : audit
118+ - name : Checkout
119+ uses : actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
120+ - name : Setup Go
121+ uses : actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
122+ with :
123+ go-version : 1.20.x
124+ - name : Restore Go cache
125+ uses : actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
126+ with :
127+ path : ~/go/pkg/mod
128+ key : ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
129+ restore-keys : |
130+ ${{ runner.os }}-go-
37131 - name : build
38132 run : make build
39- # - name: Send go coverage report
40- # uses: shogo82148/actions-goveralls@31ee804b8576ae49f6dc3caa22591bc5080e7920 #v1.6.0
41- # with:
42- # path-to-profile: coverage.out
43133 - name : Check if working tree is dirty
44134 run : |
45135 if [[ $(git diff --stat) != '' ]]; then
@@ -52,12 +142,12 @@ jobs:
52142 make docker-build
53143 - name : Create image tarball
54144 run : |
55- docker save --output k8sgrowthbook -controller-container.tar k8sgrowthbook -controller:latest
145+ docker save --output growthbook -controller-container.tar growthbook -controller:latest
56146 - name : Upload image
57147 uses : actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
58148 with :
59- name : k8sgrowthbook -controller-container
60- path : k8sgrowthbook -controller-container.tar
149+ name : growthbook -controller-container
150+ path : growthbook -controller-container.tar
61151 - id : profiles
62152 name : Determine test profiles
63153 run : |
@@ -73,24 +163,28 @@ jobs:
73163 matrix :
74164 profile : ${{ fromJson(needs.build.outputs.profiles) }}
75165 steps :
166+ - name : Harden Runner
167+ uses : step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
168+ with :
169+ egress-policy : audit
76170 - name : Checkout
77171 uses : actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
78172 - name : Setup Go
79- uses : actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5 .0
173+ uses : actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1 .0
80174 with :
81175 go-version : 1.20.x
82176 - name : Setup Kubernetes
83177 uses : engineerd/setup-kind@aa272fe2a7309878ffc2a81c56cfe3ef108ae7d0 # v0.5.0
84178 with :
85179 version : v0.17.0
86- - name : Download k8sgrowthbook -controller container
180+ - name : Download growthbook -controller container
87181 uses : actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2
88182 with :
89- name : k8sgrowthbook -controller-container
183+ name : growthbook -controller-container
90184 path : /tmp
91185 - name : Load images
92186 run : |
93- docker load --input /tmp/k8sgrowthbook -controller-container.tar
187+ docker load --input /tmp/growthbook -controller-container.tar
94188 docker image ls -a
95189 - name : Setup Kustomize
96190 uses : imranismail/setup-kustomize@6691bdeb1b0a3286fb7f70fd1423c10e81e5375f # v2.0.0
@@ -100,7 +194,52 @@ jobs:
100194 - name : Debug failure
101195 if : failure()
102196 run : |
103- kubectl -n k8sgrowthbook-system get pods
104- kubectl -n k8sgrowthbook-system logs deploy/k8sgrowthbook-controller
105- kubectl -n k8sgrowthbook-system logs -l verify=yes
106- kubectl -n k8sgrowthbook-system get growthbookinstance -o yaml
197+ kubectl -n kube-system describe pods
198+ kubectl -n growthbook-system describe pods
199+ kubectl -n growthbook-system get all
200+ kubectl -n growthbook-system logs deploy/growthbook-controller
201+ kubectl -n growthbook-system get growthbookinstance -o yaml
202+
203+ test-chart :
204+ runs-on : ubuntu-latest
205+ needs :
206+ - build
207+ - lint-chart
208+ steps :
209+ - name : Harden Runner
210+ uses : step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0
211+ with :
212+ egress-policy : audit
213+ - name : Checkout
214+ uses : actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
215+ with :
216+ fetch-depth : 0
217+
218+ - name : Set up Helm
219+ uses : azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
220+
221+ - uses : actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0
222+ with :
223+ python-version : 3.7
224+
225+ - name : Set up chart-testing
226+ uses : helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # v2.6.1
227+
228+ - name : Create kind cluster
229+ uses : helm/kind-action@dda0770415bac9fc20092cacbc54aa298604d140 # v1.8.0
230+
231+ - name : Download growthbook-controller container
232+ uses : actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2
233+ with :
234+ name : growthbook-controller-container
235+ path : /tmp
236+
237+ - name : Load image
238+ run : |
239+ docker load --input /tmp/growthbook-controller-container.tar
240+ docker tag growthbook-controller:latest ghcr.io/doodlescheduling/growthbook-controller:v0.0.0
241+ kind load docker-image ghcr.io/doodlescheduling/growthbook-controller:v0.0.0 --name chart-testing
242+ docker image ls -a
243+
244+ - name : Run chart-testing (install)
245+ run : ct install --target-branch=master --chart-dirs chart
0 commit comments