Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,15 @@ clients/python/src/mr_openapi/models/serving_environment_list.py linguist-genera
clients/python/src/mr_openapi/models/serving_environment_update.py linguist-generated=true
clients/python/src/mr_openapi/models/sort_order.py linguist-generated=true
clients/python/src/mr_openapi/rest.py linguist-generated=true
cmd/catalog-gen/templates/api/openapi_components.gotmpl linguist-generated=true
cmd/catalog-gen/templates/catalog/loader.gotmpl linguist-generated=true
cmd/catalog-gen/templates/models/artifact.gotmpl linguist-generated=true
cmd/catalog-gen/templates/models/entity.gotmpl linguist-generated=true
cmd/catalog-gen/templates/plugin/plugin.gotmpl linguist-generated=true
cmd/catalog-gen/templates/plugin/register.gotmpl linguist-generated=true
cmd/catalog-gen/templates/service/artifact_repository.gotmpl linguist-generated=true
cmd/catalog-gen/templates/service/filter_mappings.gotmpl linguist-generated=true
cmd/catalog-gen/templates/service/spec.gotmpl linguist-generated=true
internal/converter/generated/embedmd_openapi_converter.gen.go linguist-generated=true
internal/converter/generated/openapi_converter.gen.go linguist-generated=true
internal/converter/generated/openapi_embedmd_converter.gen.go linguist-generated=true
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/check-openapi-spec-pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@ on:
pull_request:
paths:
- ".github/workflows/**"
- "api/openapi/model-registry.yaml"
- "api/openapi/**"
- "catalog/plugins/*/api/openapi/**"
- "scripts/merge_openapi.sh"
- "scripts/merge_catalog_specs.sh"

permissions: # set contents: read at top-level, per OpenSSF ScoreCard rule TokenPermissionsID
contents: read
Expand Down
7 changes: 6 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -67,13 +67,18 @@ api/openapi/model-registry.yaml: api/openapi/src/model-registry.yaml api/openapi
api/openapi/catalog.yaml: api/openapi/src/catalog.yaml api/openapi/src/lib/*.yaml bin/yq
scripts/merge_openapi.sh catalog.yaml

api/openapi/catalog-spec.yaml: api/openapi/catalog.yaml $(wildcard catalog/plugins/*/api/openapi/openapi.yaml) bin/yq scripts/merge_catalog_specs.sh
scripts/merge_catalog_specs.sh catalog-spec.yaml

# validate the openapi schema
.PHONY: openapi/validate
openapi/validate: bin/openapi-generator-cli bin/yq
@scripts/merge_openapi.sh --check model-registry.yaml || (echo "api/openapi/model-registry.yaml is incorrectly formatted. Run 'make api/openapi/model-registry.yaml' to fix it."; exit 1)
@scripts/merge_openapi.sh --check catalog.yaml || (echo "$< is incorrectly formatted. Run 'make api/openapi/catalog.yaml' to fix it."; exit 1)
@scripts/merge_catalog_specs.sh --check catalog-spec.yaml || (echo "api/openapi/catalog-spec.yaml is incorrectly formatted. Run 'make api/openapi/catalog-spec.yaml' to fix it."; exit 1)
$(OPENAPI_GENERATOR) validate -i api/openapi/model-registry.yaml
$(OPENAPI_GENERATOR) validate -i api/openapi/catalog.yaml
$(OPENAPI_GENERATOR) validate -i api/openapi/catalog-spec.yaml

# generate the openapi server implementation
.PHONY: gen/openapi-server
Expand All @@ -85,7 +90,7 @@ internal/server/openapi/api_model_registry_service.go: bin/openapi-generator-cli

# generate the openapi schema model and client
.PHONY: gen/openapi
gen/openapi: bin/openapi-generator-cli api/openapi/model-registry.yaml api/openapi/catalog.yaml openapi/validate pkg/openapi/client.go
gen/openapi: bin/openapi-generator-cli api/openapi/model-registry.yaml api/openapi/catalog.yaml api/openapi/catalog-spec.yaml openapi/validate pkg/openapi/client.go
make -C catalog $@

pkg/openapi/client.go: bin/openapi-generator-cli api/openapi/model-registry.yaml clean-pkg-openapi bin/goimports
Expand Down
Loading