Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7152f4a

Browse files
authored
ci: make sure golden files are actually up to date (#15989)
1 parent 0e26a66 commit 7152f4a

11 files changed

+37
-166
lines changed

.github/workflows/ci.yaml

+9
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,15 @@ jobs:
271271
# coderd/rbac/object_gen.go:1:1: syntax error: package statement must be first
272272
run: "make --output-sync -B gen"
273273

274+
- name: make update-golden-files
275+
run: |
276+
make clean/golden-files
277+
# Notifications require DB, we could start a DB instance here but
278+
# let's just restore for now.
279+
git checkout -- coderd/notifications/testdata/rendered-templates
280+
# As above, skip `-j` flag.
281+
make --output-sync -B update-golden-files
282+
274283
- name: Check for unstaged files
275284
run: ./scripts/check_unstaged.sh
276285

Makefile

+22-7
Original file line numberDiff line numberDiff line change
@@ -702,18 +702,33 @@ coderd/apidoc/swagger.json: $(shell find ./scripts/apidocgen $(FIND_EXCLUSIONS)
702702

703703
update-golden-files: \
704704
cli/testdata/.gen-golden \
705-
helm/coder/tests/testdata/.gen-golden \
706-
helm/provisioner/tests/testdata/.gen-golden \
707-
enterprise/cli/testdata/.gen-golden \
708-
enterprise/tailnet/testdata/.gen-golden \
709-
tailnet/testdata/.gen-golden \
710705
coderd/.gen-golden \
711706
coderd/notifications/.gen-golden \
712-
provisioner/terraform/testdata/.gen-golden
707+
enterprise/cli/testdata/.gen-golden \
708+
enterprise/tailnet/testdata/.gen-golden \
709+
helm/coder/tests/testdata/.gen-golden \
710+
helm/provisioner/tests/testdata/.gen-golden \
711+
provisioner/terraform/testdata/.gen-golden \
712+
tailnet/testdata/.gen-golden
713713
.PHONY: update-golden-files
714714

715+
clean/golden-files:
716+
find . -type f -name '.gen-golden' -delete
717+
find \
718+
cli/testdata \
719+
coderd/notifications/testdata \
720+
coderd/testdata \
721+
enterprise/cli/testdata \
722+
enterprise/tailnet/testdata \
723+
helm/coder/tests/testdata \
724+
helm/provisioner/tests/testdata \
725+
provisioner/terraform/testdata \
726+
tailnet/testdata \
727+
-type f -name '*.golden' -delete
728+
.PHONY: clean/golden-files
729+
715730
cli/testdata/.gen-golden: $(wildcard cli/testdata/*.golden) $(wildcard cli/*.tpl) $(GO_SRC_FILES) $(wildcard cli/*_test.go)
716-
go test ./cli -run="Test(CommandHelp|ServerYAML|ErrorExamples)" -update
731+
go test ./cli -run="Test(CommandHelp|ServerYAML|ErrorExamples|.*Golden)" -update
717732
touch "$@"
718733

719734
enterprise/cli/testdata/.gen-golden: $(wildcard enterprise/cli/testdata/*.golden) $(wildcard cli/*.tpl) $(GO_SRC_FILES) $(wildcard enterprise/cli/*_test.go)

cli/testdata/coder_templates_plan_--help.golden

-6
This file was deleted.

enterprise/cli/testdata/coder_provisionerd_--help.golden

-15
This file was deleted.

enterprise/cli/testdata/coder_provisionerd_keys_--help.golden

-16
This file was deleted.

enterprise/cli/testdata/coder_provisionerd_keys_create_--help.golden

-16
This file was deleted.

enterprise/cli/testdata/coder_provisionerd_keys_delete_--help.golden

-18
This file was deleted.

enterprise/cli/testdata/coder_provisionerd_keys_list_--help.golden

-15
This file was deleted.

enterprise/cli/testdata/coder_provisionerd_start_--help.golden

-55
This file was deleted.

enterprise/cli/testdata/coder_wsproxy_--help.golden

-17
This file was deleted.

helm/provisioner/tests/chart_test.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ func TestRenderChart(t *testing.T) {
121121
helmPath := lookupHelm(t)
122122
err := updateHelmDependencies(t, helmPath, "..")
123123
require.NoError(t, err, "failed to build Helm dependencies")
124+
124125
for _, tc := range testCases {
125126
tc := tc
126127
t.Run(tc.name, func(t *testing.T) {
@@ -162,6 +163,9 @@ func TestUpdateGoldenFiles(t *testing.T) {
162163
}
163164

164165
helmPath := lookupHelm(t)
166+
err := updateHelmDependencies(t, helmPath, "..")
167+
require.NoError(t, err, "failed to build Helm dependencies")
168+
165169
for _, tc := range testCases {
166170
if tc.expectedError != "" {
167171
t.Logf("skipping test case %q with render error", tc.name)
@@ -171,7 +175,8 @@ func TestUpdateGoldenFiles(t *testing.T) {
171175
valuesPath := tc.valuesFilePath()
172176
templateOutput, err := runHelmTemplate(t, helmPath, "..", valuesPath)
173177
if err != nil {
174-
t.Logf("Command output:\n%s", templateOutput)
178+
t.Logf("error running `helm template -f %q`: %v", valuesPath, err)
179+
t.Logf("output: %s", templateOutput)
175180
}
176181
require.NoError(t, err, "failed to run `helm template -f %q`", valuesPath)
177182

0 commit comments

Comments
 (0)