-
Notifications
You must be signed in to change notification settings - Fork 78
Description
One of the bigger limitations of having an external JSON file for implementations is that providing implementations is a manual job. This is causing problems, as it makes it difficult to see if proposals for rules match existing implementations.
To solve this, I'd like to add a new mechanism for providing implementations. One where we "pull" implementation data as we need it, rather than "push". A simple v1 version of this would generate the implementation data files as part of a CI job, rather than pull them from an external URL. This can then be set up to run on every pull request.
Each implementation should run in a separate CI task and produce the implementation JSON file as a CI artefact for further consumption. In a later version I'd like to explore limiting the scope of each test to only those test cases that have changed, which I think will reduce the time it'll take to run these CI jobs. This does not need to be part of V1.
Such CI solutions can work in two ways. Either code is pulled down from a registry or repository and executed locally, or an external API is called. For external APIs we may need to have authentication keys stored in CI.