Skip to content

Tools specification#457

Draft
marnovandermaas wants to merge 2 commits into
lowRISC:mainfrom
marnovandermaas:tools
Draft

Tools specification#457
marnovandermaas wants to merge 2 commits into
lowRISC:mainfrom
marnovandermaas:tools

Conversation

@marnovandermaas
Copy link
Copy Markdown
Collaborator

@marnovandermaas marnovandermaas commented Apr 22, 2026

What tools do we need for Mocha and validate this against our schema.

Closes: #439

This adds a file called tool_data.json which specifies all the tools
that we are dependent on. The commit also valides this against a
standard schema defined here:
https://github.com/marnovandermaas/tool-schema/blob/main/tool_schema.json
@marnovandermaas
Copy link
Copy Markdown
Collaborator Author

@ziuziakowska mentioned that we should probably use a Python library to validate this: https://python-jsonschema.readthedocs.io/en/stable/validate/
This avoids adding Node as a dependency.

Comment thread flake.nix
gtkwave
openfpgaloader
openocd
nodejs
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not very keen on adding nodejs as a dependency only for the json schema validation. I suggesting using either python or compiled tools, a few options are:

  • jsonschema-cli: a Rust binary and can be installed with nix.
  • check-jsonschema: a Python script that can be installed with uv.
  • Our own script based on opentitan json schema linter.

Copy link
Copy Markdown
Collaborator

@engdoreis engdoreis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a good feature but I left a comment about the dependencies.

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.

Define tool versions

2 participants