Skip to content

Commit 3b6bee9

Browse files
authored
chore(Makefile): fix apidoc dependencies (coder#17042)
Our apidoc generation had some circular dependencies, this change splits them up into separate Makefile targets.
1 parent fe24a7a commit 3b6bee9

File tree

3 files changed

+30
-6
lines changed

3 files changed

+30
-6
lines changed

.gitignore

+2-1
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
3637
.gen-golden
3738

3839
# Build

Makefile

+28-4
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,10 @@ site/node_modules/.installed: site/package.json site/pnpm-lock.yaml
400400
(cd site/ && ../scripts/pnpm_install.sh)
401401
touch "$@"
402402

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 "$@"
406+
403407
SITE_GEN_FILES := \
404408
site/src/api/typesGenerated.ts \
405409
site/src/api/rbacresourcesGenerated.ts \
@@ -560,6 +564,7 @@ GEN_FILES := \
560564
docs/reference/cli/index.md \
561565
docs/admin/security/audit-logs.md \
562566
coderd/apidoc/swagger.json \
567+
docs/manifest.json \
563568
provisioner/terraform/testdata/version \
564569
site/e2e/provisionerGenerated.ts \
565570
examples/examples.gen.json \
@@ -607,6 +612,7 @@ gen/mark-fresh:
607612
docs/reference/cli/index.md \
608613
docs/admin/security/audit-logs.md \
609614
coderd/apidoc/swagger.json \
615+
docs/manifest.json \
610616
site/e2e/provisionerGenerated.ts \
611617
site/src/theme/icons.json \
612618
examples/examples.gen.json \
@@ -748,11 +754,10 @@ docs/admin/integrations/prometheus.md: node_modules/.installed scripts/metricsdo
748754
pnpm exec markdown-table-formatter ./docs/admin/integrations/prometheus.md
749755
touch "$@"
750756

751-
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)
752758
CI=true BASE_PATH="." go run ./scripts/clidocgen
753759
pnpm exec markdownlint-cli2 --fix ./docs/reference/cli/*.md
754760
pnpm exec markdown-table-formatter ./docs/reference/cli/*.md
755-
(cd site/ && pnpm exec biome format --write ../docs/manifest.json)
756761
touch "$@"
757762

758763
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
@@ -761,11 +766,30 @@ docs/admin/security/audit-logs.md: node_modules/.installed coderd/database/queri
761766
pnpm exec markdown-table-formatter ./docs/admin/security/audit-logs.md
762767
touch "$@"
763768

764-
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/*)
765782
./scripts/apidocgen/generate.sh
766783
pnpm exec markdownlint-cli2 --fix ./docs/reference/api/*.md
767784
pnpm exec markdown-table-formatter ./docs/reference/api/*.md
768-
(cd site/ && pnpm exec biome format --write ../docs/manifest.json ../coderd/apidoc/swagger.json)
785+
touch "$@"
786+
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)
769793
touch "$@"
770794

771795
update-golden-files:

scripts/apidocgen/generate.sh

-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ go run github.com/swaggo/swag/cmd/swag@v1.8.9 init \
2727
popd
2828

2929
pushd "${APIDOCGEN_DIR}"
30-
pnpm i
3130

3231
# Make sure that widdershins is installed correctly.
3332
pnpm exec -- widdershins --version

0 commit comments

Comments
 (0)