JSON-LD publication includes the following repos:
- spec-jsonld - contains transformation code
- spec-JSONschema - as a git module for spec-jsonld
- vocabulary-outputs - generates HTML presentation of JSON-LD vocabularies
Proposed workflow for BSP vocabulary maintance:
- A new version of JSON Schema is published on spec-JSONschema.
- A maintainer of spec-jsonld is notified about the new BSP version.
- A maintainer of spec-jsonld updates spec-JSONschema git module reference and raises a PR.
- A GitHub workflow is triggered on the PR and a new version of transformation code is buit,
- The GitHub workflow runs transformation code runs using the new version of JSON Schema, JSON-LD files are produced and added to the PR for review.
- Tests are executed to confirm the JSON-LD files are valid from structure(json schema) and data(relationships between resources) perspectives.
- The fixes and adjustments are applied if needed until JSON-LD files are correct and diff report is produced.
- The PR is approved, merged and a new release is created with JSON-LD vocaularies as release artifacts.
- A repository dispatch request is sent to vocabulary-outputs and triggers preview.yml workflow.
- The new JSON-LD vocabularies are downloaded as latest artifacts from spec-jsonld.
- The md and data files are generated from the new version JSON-LD vocabulary.
- A PR is raised and deployed to a test endpoint for review to https://test.uncefact.org/
- A broken link check is ran against the test endpoint.
- The PR is approved and merged and the release.yml is manually triggered to update https://vocabulary.uncefact.org/
- A broken link check is ran against the production endpoint.
- spec-jsonld - the Java application with transformation code, JSON-LD vocabulary and context files, diff report
- vocabulary-outputs - broken link check report, diff report for vocabularies versions