-
Notifications
You must be signed in to change notification settings - Fork 517
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
Add test to automate the detection/documentation of Admin API changes #742
Comments
@jcourt562 -- interested in helping with this one? :-) |
Let me look into this and see what I can do. Cheers John |
Hey Stephen, you can assign this one to me. I have a script (yeah ok its only bash but hey), it runs up the ACA-py docker, and then runs the swagger-cogegen docker image against it to create an openapi.json file, so its not language specific. We should be able to use that with maybe a little bit of change from what we do afterwards for specific language generation. One issue is that doing this in the CI/CD only really works (at least we have it working that way) with the "shell" executor since it needs to share the fs for input output. I might submit it as a manual script for now until I understand your CI/CD a little better. |
That works. Now that we have merged all of the configuration systems for ACA-Py into a unified system (#739 ) we should also have a "usage" run as part of this that we also check for changes on a merge by merge basis. Don't feel obligated to do that as well, but I assume we'll piggyback on what you do. @WadeBarnes can help with any CI/CD questions, and can take what you produce to move into CI/CD. Thanks! |
bash is way underrated as a scripting language. Minimal external dependencies! |
@jcourt562 mentioned that he is detecting changes in the Admin API by using the swagger definition to generate a client for the API and then looking for changes from previous generations. ACA-Py has been updated to make the generated swagger definition predictably ordered to make such comparisons easier.
It would be nice to have such a mechanism added to the repo for detecting expected and unexpected changes to the API. Have a way to run the process, generate the client and then diff the result with the last known good version of the client. Ideally, the test would be in the CI/CD pipeline (forcing developer to account for and document their changes), but it could also be just a manual process we run before each release to make sure that the release notes sufficiently document the API changes.
By having the expected result in the repo, we can also provide a URL for a GitHub tag-to-tag comparison of the generated client code.
The text was updated successfully, but these errors were encountered: