Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement JSON Schema for PGXN Meta Spec v1 #3

Merged
merged 1 commit into from
Jul 1, 2024
Merged

Implement JSON Schema for PGXN Meta Spec v1 #3

merged 1 commit into from
Jul 1, 2024

Conversation

theory
Copy link
Member

@theory theory commented Jun 28, 2024

Based on the descriptions in spec.md and the validation in pgxn/pgxn-meta-validator, write JSON Schema v2020 schemas to validate PGXN Meta Spec META.json files. The implementation should be at least as good as the old one, now portable for use in other languages.

In the process, correct a few issues and errors discovered in spec.md and increment its version to v1.0.2.

Add a test suite in Rust that uses the boon crate to verify that the schemas, their IDs, and their examples are valid. This sets the stage for writing a validation utility in Rust.

To keep things tidy and somewhat standardized, add a pre-commit configuration to lint the JSON and Rust code.

Then setup a GitHub workflow to run the tests on macOS, Windows, and Linux, and the pre-commit linting on Linux. Overkill for now, since there is no Rust library, just tests for the JSON Schema, but likely to be needed before long.

@theory theory added the enhancement New feature or request label Jun 28, 2024
@theory theory self-assigned this Jun 28, 2024
Based on the descriptions in `spec.md` and the validation in
pgxn/pgxn-meta-validator, write JSON Schema v2020 schemas to validate
PGXN Meta Spec `META.json` files. The implementation should be at least
as good as the old one, now portable for use in other languages.

In the process, correct a few issues and errors discovered in `spec.md`
and increment its version to v1.0.2.

Add a test suite in Rust that uses the boon crate to verify that the
schemas, their IDs, and their examples are valid. This sets the stage
for writing a validation utility in Rust.

To keep things tidy and somewhat standardized, add a pre-commit
configuration to lint the JSON and Rust code.

Then setup a GitHub workflow to run the tests on macOS, Windows, and
Linux, and the pre-commit linting on Linux. Overkill for now, since
there is no Rust library, just tests for the JSON Schema, but likely to
be needed before long.
@theory theory merged commit e1b1034 into main Jul 1, 2024
10 checks passed
@theory theory deleted the json-schema branch July 1, 2024 19:06
@theory theory mentioned this pull request Jul 2, 2024
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants