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
39 changes: 39 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -343,3 +343,42 @@ areas-table-generation:
.PHONY: areas-table-check
areas-table-check:
docker run --rm -v ${PWD}:/repo -w /repo python:3-alpine python internal/tools/scripts/update-areas-table.py --install --check;

SCHEMAS_PATH = $(PWD)/schemas
.PHONY: generate-schema-v2-dev
generate-schema-v2-dev:
$(DOCKER_RUN) --rm \
$(DOCKER_USER_IS_HOST_USER_ARG) \
--mount 'type=bind,source=$(PWD)/internal/tools/scripts,target=/home/weaver/templates,readonly' \
--mount 'type=bind,source=$(PWD)/model,target=/home/weaver/source,readonly' \
--mount 'type=bind,source=$(SCHEMAS_PATH),target=/home/weaver/target' \
$(WEAVER_CONTAINER) registry generate \
--registry=/home/weaver/source \
--templates=/home/weaver/templates \
--param next_version=$(NEXT_SEMCONV_VERSION) \
--config=/home/weaver/templates/registry/schema-v2-weaver.yaml \
. \
/home/weaver/target

# TODO: diff does not have indication about stability, so we can only generate
# dev diff
$(DOCKER_RUN) --rm \
$(DOCKER_USER_IS_HOST_USER_ARG) \
--mount 'type=bind,source=$(PWD)/internal/tools/scripts,target=/home/weaver/templates,readonly' \
--mount 'type=bind,source=$(PWD)/model,target=/home/weaver/source,readonly' \
--mount 'type=bind,source=$(SCHEMAS_PATH),target=/home/weaver/target' \
$(WEAVER_CONTAINER) registry diff \
--registry=/home/weaver/source \
--baseline-registry=https://github.com/open-telemetry/semantic-conventions/archive/refs/tags/v$(LATEST_RELEASED_SEMCONV_VERSION).zip[model] \
--diff-format yaml \
--diff-template /home/weaver/templates/schema-v2-diff \
--output /home/weaver/target

# TODO: these commands should not be necessary:
$(SED) -i 's/semconv_version: unversioned/semconv_version: $(NEXT_SEMCONV_VERSION)/' $(SCHEMAS_PATH)/next-version-dev/schema-diff.yaml

rm -rf $(SCHEMAS_PATH)/${NEXT_SEMCONV_VERSION}-dev
mv $(SCHEMAS_PATH)/next-version-dev $(SCHEMAS_PATH)/${NEXT_SEMCONV_VERSION}-dev

rm -rf $(SCHEMAS_PATH)/${NEXT_SEMCONV_VERSION}
mv $(SCHEMAS_PATH)/next-version $(SCHEMAS_PATH)/${NEXT_SEMCONV_VERSION}
50 changes: 50 additions & 0 deletions internal/tools/scripts/registry/schema-v2-weaver.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
templates:
- pattern: schema.j2
filter: .
application_mode: single
file_name: next-version-dev/schema.yaml # how to parametrize this?
- pattern: schema.j2
filter: >
def filter_members:
if type == "array" then
map(select(.stability == "stable") | filter_members)
elif type == "object" then
if has("members") and (.members | type == "array") then
.members |= filter_members
else
.
end
else
.
end;

.groups |= map(
select(
(.stability == "stable") or
(
.type == "attribute_group" and
(.attributes | map(select(.stability == "stable")) | length > 0)
)
)
|
if .attributes then
.attributes |= map(
select(.stability == "stable")
|
if (.type | type == "object") and (.type.members) then
.type |= filter_members
else
.
end
)
else
.
end
)
application_mode: single
file_name: next-version/schema.yaml

whitespace_control:
trim_blocks: true
lstrip_blocks: true
keep_trailing_newline: true
5 changes: 5 additions & 0 deletions internal/tools/scripts/registry/schema.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{# TODO: toyaml generates some scrabbled output #}
{#{{ ctx | toyaml }}#}

{{ ctx | tojson(indent=true) }}

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{ ctx | toyaml }}
9 changes: 9 additions & 0 deletions internal/tools/scripts/schema-v2-diff/yaml/weaver.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
templates:
- pattern: schema-diff.j2
filter: .
application_mode: single
file_name: next-version-dev/schema-diff.yaml # how to parametrize this?
whitespace_control:
trim_blocks: true
lstrip_blocks: true
keep_trailing_newline: true
10 changes: 10 additions & 0 deletions schemas/next-dev/schema-diff.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
baseline:
semconv_version: v1.38.0
changes:
entities: []
events: []
metrics: []
registry_attributes: []
spans: []
head:
semconv_version: next
Loading
Loading