8000 Merge branch 'main' into lilac/import-graph · coder/coder@c237a97 · GitHub
[go: up one dir, main page]

Skip to content

Commit c237a97

Browse files
committed
Merge branch 'main' into lilac/import-graph
2 parents 6d46c7e + e40ea25 commit c237a97

File tree

97 files changed

+1150
-298
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+1150
-298
lines changed

.github/.linkspector.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,6 @@ ignorePatterns:
2121
- pattern: "linux.die.net/man"
2222
- pattern: "www.gnu.org"
2323
- pattern: "wiki.ubuntu.com"
24+
- pattern: "mutagen.io"
2425
aliveStatusCodes:
2526
- 200

.github/workflows/ci.yaml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -267,18 +267,15 @@ jobs:
267267
popd
268268
269269
- name: make gen
270-
# no `-j` flag as `make` fails with:
271-
# coderd/rbac/object_gen.go:1:1: syntax error: package statement must be first
272-
run: "make --output-sync -B gen"
273-
274-
- name: make update-golden-files
275270
run: |
271+
# Remove golden files to detect discrepancy in generated files.
276272
make clean/golden-files
277273
# Notifications require DB, we could start a DB instance here but
278274
# let's just restore for now.
279275
git checkout -- coderd/notifications/testdata/rendered-templates
280-
# As above, skip `-j` flag.
281-
make --output-sync -B update-golden-files
276+
# no `-j` flag as `make` fails with:
277+
# coderd/rbac/object_gen.go:1:1: syntax error: package statement must be first
278+
make --output-sync -B gen
282279
283280
- name: Check for unstaged files
284281
run: ./scripts/check_unstaged.sh

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ site/e2e/.auth.json
3232
site/playwright-report/*
3333
site/.swc
3434

35-
# Make target for updating golden files (any dir).
35+
# Make target for updating generated/golden files (any dir).
36+
.gen< F438 /span>
3637
.gen-golden
3738

3839
# Build

Makefile

Lines changed: 77 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -388,16 +388,21 @@ $(foreach chart,$(charts),build/$(chart)_helm_$(VERSION).tgz): build/%_helm_$(VE
388388
--chart $* \
389389
--output "$@"
390390

391-
node_modules/.installed: package.json
391+
node_modules/.installed: package.json pnpm-lock.yaml
392392
./scripts/pnpm_install.sh
393+
touch "$@"
393394

394-
offlinedocs/node_modules/.installed: offlinedocs/package.json
395-
cd offlinedocs/
396-
../scripts/pnpm_install.sh
395+
offlinedocs/node_modules/.installed: offlinedocs/package.json offlinedocs/pnpm-lock.yaml
396+
(cd offlinedocs/ && ../scripts/pnpm_install.sh)
397+
touch "$@"
397398

398-
site/node_modules/.installed: site/package.json
399-
cd site/
400-
../scripts/pnpm_install.sh
399+
site/node_modules/.installed: site/package.json site/pnpm-lock.yaml
400+
(cd site/ && ../scripts/pnpm_install.sh)
401+
touch "$@"
402+
403+
scripts/apidocgen/node_modules/.installed: scripts/apidocgen/package.json scripts/apidocgen/pnpm-lock.yaml
404+
(cd scripts/apidocgen && ../../scripts/pnpm_install.sh)
405+
touch "$@"
401406

402407
SITE_GEN_FILES := \
403408
site/src/api/typesGenerated.ts \
@@ -559,6 +564,7 @@ GEN_FILES := \
559564
docs/reference/cli/index.md \
560565
docs/admin/security/audit-logs.md \
561566
coderd/apidoc/swagger.json \
567+
docs/manifest.json \
562568
provisioner/terraform/testdata/version \
563569
site/e2e/provisionerGenerated.ts \
564570
examples/examples.gen.json \
@@ -568,12 +574,24 @@ GEN_FILES := \
568574
agent/agentcontainers/dcspec/dcspec_gen.go
569575

570576
# all gen targets should be added here and to gen/mark-fresh
571-
gen: gen/db $(GEN_FILES)
577+
gen: gen/db gen/golden-files $(GEN_FILES)
572578
.PHONY: gen
573579

574580
gen/db: $(DB_GEN_FILES)
575581
.PHONY: gen/db
576582

583+
gen/golden-files: \
584+
cli/testdata/.gen-golden \
585+
coderd/.gen-golden \
586+
coderd/notifications/.gen-golden \
587+
enterprise/cli/testdata/.gen-golden \
588+
enterprise/tailnet/testdata/.gen-golden \
589+
helm/coder/tests/testdata/.gen-golden \
590+
helm/provisioner/tests/testdata/.gen-golden \
591+
provisioner/terraform/testdata/.gen-golden \
592+
tailnet/testdata/.gen-golden
593+
.PHONY: gen/golden-files
594+
577595
# Mark all generated files as fresh so make thinks they're up-to-date. This is
578596
# used during releases so we don't run generation scripts.
579597
gen/mark-fresh:
@@ -594,6 +612,7 @@ gen/mark-fresh:
594612
docs/reference/cli/index.md \
595613
docs/admin/security/audit-logs.md \
596614
coderd/apidoc/swagger.json \
615+
docs/manifest.json \
597616
site/e2e/provisionerGenerated.ts \
598617
site/src/theme/icons.json \
599618
examples/examples.gen.json \
@@ -619,27 +638,34 @@ gen/mark-fresh:
619638
# applied.
620639
coderd/database/dump.sql: coderd/database/gen/dump/main.go $(wildcard coderd/database/migrations/*.sql)
621640
go run ./coderd/database/gen/dump/main.go
641+
touch "$@"
622642

623643
# Generates Go code for querying the database.
624644
# coderd/database/queries.sql.go
625645
# coderd/database/models.go
626646
coderd/database/querier.go: coderd/database/sqlc.yaml coderd/database/dump.sql $(wildcard coderd/database/queries/*.sql)
627647
./coderd/database/generate.sh
648+
touch "$@"
628649

629650
coderd/database/dbmock/dbmock.go: coderd/database/db.go coderd/database/querier.go
630651
go generate ./coderd/database/dbmock/
652+
touch "$@"
631653

632654
coderd/database/pubsub/psmock/psmock.go: coderd/database/pubsub/pubsub.go
633655
go generate ./coderd/database/pubsub/psmock
656+
touch "$@"
634657

635658
agent/agentcontainers/acmock/acmock.go: agent/agentcontainers/containers.go
636659
go generate ./agent/agentcontainers/acmock/
660+
touch "$@"
637661

638662
agent/agentcontainers/dcspec/dcspec_gen.go: agent/agentcontainers/dcspec/devContainer.base.schema.json
639663
go generate ./agent/agentcontainers/dcspec/
664+
touch "$@"
640665

641666
$(TAILNETTEST_MOCKS): tailnet/coordinator.go tailnet/service.go
642667
go generate ./tailnet/tailnettest/
668+
touch "$@"
643669

644670
tailnet/proto/tailnet.pb.go: tailnet/proto/tailnet.proto
645671
protoc \
@@ -682,77 +708,94 @@ vpn/vpn.pb.go: vpn/vpn.proto
682708
site/src/api/typesGenerated.ts: site/node_modules/.installed $(wildcard scripts/apitypings/*) $(shell find ./codersdk $(FIND_EXCLUSIONS) -type f -name '*.go')
683709
# -C sets the directory for the go run command
684710
go run -C ./scripts/apitypings main.go > $@
685-
cd site/
686-
pnpm exec biome format --write src/api/typesGenerated.ts
711+
(cd site/ && pnpm exec biome format --write src/api/typesGenerated.ts)
712+
touch "$@"
687713

688714
site/e2e/provisionerGenerated.ts: site/node_modules/.installed provisionerd/proto/provisionerd.pb.go provisionersdk/proto/provisioner.pb.go
689-
cd site/
690-
pnpm run gen:provisioner
715+
(cd site/ && pnpm run gen:provisioner)
716+
touch "$@"
691717

692718
site/src/theme/icons.json: site/node_modules/.installed $(wildcard scripts/gensite/*) $(wildcard site/static/icon/*)
693719
go run ./scripts/gensite/ -icons "$@"
694-
cd site/
695-
pnpm exec biome format --write src/theme/icons.json
720+
(cd site/ && pnpm exec biome format --write src/theme/icons.json)
721+
touch "$@"
696722

697723
examples/examples.gen.json: scripts/examplegen/main.go examples/examples.go $(shell find ./examples/templates)
698724
go run ./scripts/examplegen/main.go > examples/examples.gen.json
725+
touch "$@"
699726

700727
coderd/rbac/object_gen.go: scripts/typegen/rbacobject.gotmpl scripts/typegen/main.go coderd/rbac/object.go coderd/rbac/policy/policy.go
701728
tempdir=$(shell mktemp -d /tmp/typegen_rbac_object.XXXXXX)
702729
go run ./scripts/typegen/main.go rbac object > "$$tempdir/object_gen.go"
703730
mv -v "$$tempdir/object_gen.go" coderd/rbac/object_gen.go
704731
rmdir -v "$$tempdir"
732+
touch "$@"
705733

706734
codersdk/rbacresources_gen.go: scripts/typegen/codersdk.gotmpl scripts/typegen/main.go coderd/rbac/object.go coderd/rbac/policy/policy.go
707735
# Do no overwrite codersdk/rbacresources_gen.go directly, as it would make the file empty, breaking
708736
# the `codersdk` package and any parallel build targets.
709737
go run scripts/typegen/main.go rbac codersdk > /tmp/rbacresources_gen.go
710738
mv /tmp/rbacresources_gen.go codersdk/rbacresources_gen.go
739+
touch "$@"
711740

712741
site/src/api/rbacresourcesGenerated.ts: site/node_modules/.installed scripts/typegen/codersdk.gotmpl scripts/typegen/main.go coderd/rbac/object.go coderd/rbac/policy/policy.go
713742
go run scripts/typegen/main.go rbac typescript > "$@"
714-
cd site/
715-
pnpm exec biome format --write src/api/rbacresourcesGenerated.ts
743+
(cd site/ && pnpm exec biome format --write src/api/rbacresourcesGenerated.ts)
744+
touch "$@"
716745

717746
site/src/api/countriesGenerated.ts: site/node_modules/.installed scripts/typegen/countries.tstmpl scripts/typegen/main.go codersdk/countries.go
718747
go run scripts/typegen/main.go countries > "$@"
719-
cd site/
720-
pnpm exec biome format --write src/api/countriesGenerated.ts
748+
(cd site/ && pnpm exec biome format --write src/api/countriesGenerated.ts)
749+
touch "$@"
721750

722751
docs/admin/integrations/prometheus.md: node_modules/.installed scripts/metricsdocgen/main.go scripts/metricsdocgen/metrics
723752
go run scripts/metricsdocgen/main.go
724753
pnpm exec markdownlint-cli2 --fix ./docs/admin/integrations/prometheus.md
725754
pnpm exec markdown-table-formatter ./docs/admin/integrations/prometheus.md
755+
touch "$@"
726756

727-
docs/reference/cli/index.md: node_modules/.installed site/node_modules/.installed scripts/clidocgen/main.go examples/examples.gen.json $(GO_SRC_FILES)
757+
docs/reference/cli/index.md: node_modules/.installed scripts/clidocgen/main.go examples/examples.gen.json $(GO_SRC_FILES)
728758
CI=true BASE_PATH="." go run ./scripts/clidocgen
729759
pnpm exec markdownlint-cli2 --fix ./docs/reference/cli/*.md
730760
pnpm exec markdown-table-formatter ./docs/reference/cli/*.md
731-
cd site/
732-
pnpm exec biome format --write ../docs/manifest.json
761+
touch "$@"
733762

734763
docs/admin/security/audit-logs.md: node_modules/.installed coderd/database/querier.go scripts/auditdocgen/main.go enterprise/audit/table.go coderd/rbac/object_gen.go
735764
go run scripts/auditdocgen/main.go
736765
pnpm exec markdownlint-cli2 --fix ./docs/admin/security/audit-logs.md
737766
pnpm exec markdown-table-formatter ./docs/admin/security/audit-logs.md
767+
touch "$@"
738768

739-
coderd/apidoc/swagger.json: node_modules/.installed site/node_modules/.installed $(shell find ./scripts/apidocgen $(FIND_EXCLUSIONS) -type f) $(wildcard coderd/*.go) $(wildcard enterprise/coderd/*.go) $(wildcard codersdk/*.go) $(wildcard enterprise/wsproxy/wsproxysdk/*.go) $(DB_GEN_FILES) .swaggo docs/manifest.json coderd/rbac/object_gen.go
769+
coderd/apidoc/.gen: \
770+
node_modules/.installed \
771+
scripts/apidocgen/node_modules/.installed \
772+
$(wildcard coderd/*.go) \
773+
$(wildcard enterprise/coderd/*.go) \
774+
$(wildcard codersdk/*.go) \
775+
$(wildcard enterprise/wsproxy/wsproxysdk/*.go) \
776+
$(DB_GEN_FILES) \
777+
coderd/rbac/object_gen.go \
778+
.swaggo \
779+
scripts/apidocgen/generate.sh \
780+
$(wildcard scripts/apidocgen/postprocess/*) \
781+
$(wildcard scripts/apidocgen/markdown-template/*)
740782
./scripts/apidocgen/generate.sh
741783
pnpm exec markdownlint-cli2 --fix ./docs/reference/api/*.md
742784
pnpm exec markdown-table-formatter ./docs/reference/api/*.md
743-
cd site/
744-
pnpm exec biome format --write ../docs/manifest.json ../coderd/apidoc/swagger.json
785+
touch "$@"
745786

746-
update-golden-files: \
747-
cli/testdata/.gen-golden \
748-
coderd/.gen-golden \
749-
coderd/notifications/.gen-golden \
750-
enterprise/cli/testdata/.gen-golden \
751-
enterprise/tailnet/testdata/.gen-golden \
752-
helm/coder/tests/testdata/.gen-golden \
753-
helm/provisioner/tests/testdata/.gen-golden \
754-
provisioner/terraform/testdata/.gen-golden \
755-
tailnet/testdata/.gen-golden
787+
docs/manifest.json: site/node_modules/.installed coderd/apidoc/.gen docs/reference/cli/index.md
788+
(cd site/ && pnpm exec biome format --write ../docs/manifest.json)
789+
touch "$@"
790+
791+
coderd/apidoc/swagger.json: site/node_modules/.installed coderd/apidoc/.gen
792+
(cd site/ && pnpm exec biome format --write ../coderd/apidoc/swagger.json)
793+
touch "$@"
794+
795+
update-golden-files:
796+
echo 'WARNING: This target is deprecated. Use "make gen/gold F7B5 en-files" instead.' 2>&1
797+
echo 'Running "make gen/golden-files"' 2>&1
798+
make gen/golden-files
756799
.PHONY: update-golden-files
757800

758801
clean/golden-files:

cli/clitest/golden.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import (
2424

2525
// UpdateGoldenFiles indicates golden files should be updated.
2626
// To update the golden files:
27-
// make update-golden-files
27+
// make gen/golden-files
2828
var UpdateGoldenFiles = flag.Bool("update", false, "update .golden files")
2929

3030
var timestampRegex = regexp.MustCompile(`(?i)\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d+:\d+)`)
@@ -113,12 +113,12 @@ func TestGoldenFile(t *testing.T, fileName string, actual []byte, replacements m
113113
}
114114

115115
expected, err := os.ReadFile(goldenPath)
116-
require.NoError(t, err, "read golden file, run \"make update-golden-files\" and commit the changes")
116+
require.NoError(t, err, "read golden file, run \"make gen/golden-files\" and commit the changes")
117117

118118
expected = normalizeGoldenFile(t, expected)
119119
require.Equal(
120120
t, string(expected), string(actual),
121-
"golden file mismatch: %s, run \"make update-golden-files\", verify and commit the changes",
121+
"golden file mismatch: %s, run \"make gen/golden-files\", verify and commit the changes",
122122
goldenPath,
123123
)
124124
}

0 commit comments

Comments
 (0)
0