chore: Add a schema compatibility check to the CI for the OH CLI#359
chore: Add a schema compatibility check to the CI for the OH CLI#359
Conversation
A first attempt at trying to catch the "Breaking changes detected" warning in the CLI ahead of a new release.
cron each morning. Only check on prod and do a Slack notification in case of failure.
d359973 to
1798187
Compare
| "\nUpdate the bundled schema by copying the latest schema from the OpenHEXA monorepo" | ||
| " and re-running: python -m ariadne_codegen" |
There was a problem hiding this comment.
[For further improvement] We could automate this also by Opening a PR with the new schema and codegen ran
yolanfery
left a comment
There was a problem hiding this comment.
TLDR; I think it is great and sufficient like this 😊
My opinion is that, in theory, we need a check each time the app is released to see if the latest SDK is compatible so that we ensure each app version has a compatible sdk version. So a GitHub action on release please of openhexa-app
But in practice we spent days between an app release and actually releasing it to prod (testing in demo etc). So it means we could have SDK version that are unnecessarily published in advance, leading to confusion among users that need to use an older version of the SDK.
So I think you changed my mind and I think this is actually great like that 👌
(Maybe we could even remove the release please part [I feel it's not that useful] and only keeping the cron for simplicity, but I am not against keeping it)
To go further (at some point if we want):
- We can consider automating the schema/codegen update by opening a PR and assigning one of us
- I think it would be valuable to have the same mechanism discussed for docker images : a tag (
main) to test in demo before publishing a new release. In Pypi I think we need to rely on.devversion numbers (no string tags)
A first attempt at trying to catch the "Breaking changes detected" warning in the CLI ahead of a new release.
This PR adds a check on the schema compatibility of the
openhexaCLI with two checks:release-pleasePR to check schema compatibility with prodWhat do you think of this general approach?