Skip to content

Comments

chore: Add a schema compatibility check to the CI for the OH CLI#359

Open
bramj wants to merge 6 commits intomainfrom
chore-schema-compatibility-check
Open

chore: Add a schema compatibility check to the CI for the OH CLI#359
bramj wants to merge 6 commits intomainfrom
chore-schema-compatibility-check

Conversation

@bramj
Copy link
Contributor

@bramj bramj commented Feb 19, 2026

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 openhexa CLI with two checks:

  1. A check on a release-please PR to check schema compatibility with prod
  2. A daily check (every morning at 9) to check the latest release with the production server. If there's a schema mismatch (which would mean a warning when using the SDK), the cron sends a Slack notification.

What do you think of this general approach?

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.
@bramj bramj force-pushed the chore-schema-compatibility-check branch from d359973 to 1798187 Compare February 23, 2026 11:49
@bramj bramj requested a review from yolanfery February 23, 2026 12:13
Comment on lines +56 to +57
"\nUpdate the bundled schema by copying the latest schema from the OpenHEXA monorepo"
" and re-running: python -m ariadne_codegen"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[For further improvement] We could automate this also by Opening a PR with the new schema and codegen ran

Copy link
Contributor

@yolanfery yolanfery left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 .dev version numbers (no string tags)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants