-
Notifications
You must be signed in to change notification settings - Fork 111
Add versioned schemas and PR validation for index.json files #883
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
base: master
Are you sure you want to change the base?
Conversation
…nd-framework-list-schema
…action to output the detected files
| set -e | ||
|
|
||
| # Treat changed_files as a proper array | ||
| FILES=(${{ steps.filter.outputs.changed_files }}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should always strive to do this in gradle. That way I can also do it locally to verify everything is OK.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense. I've removed this file-producing part of the GitHub action and created a generateChangedIndexFileMatrix gradle task that will do this in gradle (and is locally test-able). As these tasks require a ci.json entry, I've added it as only tested on java: latest-ea and os: ubuntu-latest as not to produce multiple jobs (because there shouldn't be any change with different jdks for this functionality as we don't run native-image).
74b3af7 to
89f8e23
Compare
What does this PR do?
This PR introduces versioned schemas for all existing
index.jsonfiles in the repository and adds a workflow to validate any changedindex.jsonfiles in a pull request against their respective schemas.Currently, there are four types of
index.jsonfiles:Global metadata
index.jsonmetadata/index.jsonLibrary metadata
index.jsonmetadata/<groupId>/<artifactId>/index.jsonfor each library in the repositoryGlobal tests
index.jsontests/src/index.jsonOptional test sub-project
index.jsontests/src/<groupId>/<artifactId>/<version>/index.jsonAdditional Changes
The following schemas are now packaged with all future releases of GraalVM Reachability Metadata:
schemas/metadata-root-index-schema-v1.0.0.jsonschemas/metadata-library-index-schema-v1.0.0.jsonschemas/library-and-framework-list-schema-v1.0.0.jsonThese are used in Native Build Tools to detect potential mismatches between metadata and build tools versions.
Fixes: #813