Skip to content

Importruns: introduce data contracts for run log and metadata#336

Open
ol-nata wants to merge 4 commits into
ts-factory:mainfrom
ol-nata:feat/importruns
Open

Importruns: introduce data contracts for run log and metadata#336
ol-nata wants to merge 4 commits into
ts-factory:mainfrom
ol-nata:feat/importruns

Conversation

@ol-nata

@ol-nata ol-nata commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Introduces JSON schemas for the run log and metadata formats as data contracts at the boundary between Bublik and TE, and enforces them during import.

  • Add a JSON schema for the run log in JSON format, matching the import pipeline and the current log format produced by TE.
  • Validate downloaded run logs against the schema before further processing, so a malformed log is rejected early with a clear error instead of failing deep inside the import pipeline.
  • Add a JSON schema for meta_data.json, matching the format produced by test-environment's metadata generator (scripts/lib.meta).
  • Validate downloaded meta_data.json against the schema before passing it on for processing. Locally generated meta_data.json is not validated, since it comes from a trusted project-local script rather than external input.

ol-nata added 4 commits June 25, 2026 18:08
Add a JSON schema for the run log in JSON format, matching the import
pipeline and the current log format produced by TE. Serves as a data
contract at the boundary between Bublik and TE.

Signed-off-by: Natalia Rybchenko <natalia.rybchenko@oktetlabs.ru>
Validate downloaded run logs against the schema before processing them
further, so a malformed log is rejected early with a clear error
instead of failing deep inside the import pipeline.

Signed-off-by: Natalia Rybchenko <natalia.rybchenko@oktetlabs.ru>
Add a JSON schema for meta_data.json, matching the format produced by
test-environment's metadata generator (scripts/lib.meta). Serves as a
data contract at the boundary between Bublik and TE, alongside the
run log schema.

Signed-off-by: Natalia Rybchenko <natalia.rybchenko@oktetlabs.ru>
Validate downloaded meta_data.json against the schema before passing
it on for processing, so malformed metadata is rejected early with a
clear error instead of failing deep inside the import pipeline.

Locally generated meta_data.json (produced when none is provided by
the run source) is not validated, since it comes from a trusted
project-local script rather than external input.

Signed-off-by: Natalia Rybchenko <natalia.rybchenko@oktetlabs.ru>
@okt-limonikas

okt-limonikas commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

I would suggest to add meta_data.json schema as part of this PR or separate one since I think it's important piece of data for import process.

@ol-nata ol-nata changed the title Importruns: introduce run log JSON data contract Importruns: introduce data contracts for run log and metadata Jun 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants