Connect a git repository
Every git-managed project needs one publisher for merged changes. A CI job running the Cassis CLI works on any provider, GitHub included. The GitHub App is optional: it does the same jobs without a pipeline and adds a few of its own.
Push the repository containing your context to GitHub, GitLab or your team’s Git host. If your team already has a repository for it, add the context files there. The configured path, cassis/ by default, represents the complete context.
What the GitHub App adds
| Job | With the App, Cassis does it | Without the App, you do it |
|---|---|---|
| Check a pull request | The App posts a cassis / ontology validation check on every pull request that touches the context path, with the same checks as cassis context check. | Add a CI job that runs cassis verify on each pull request. It runs the same checks, plus the eval suite. |
| Publish a merge | The App imports the merged tree, publishes a version that records the commit, and posts the result as a cassis / ontology sync check. If the import fails, Cassis keeps the previous version and the check says why. | Add a CI job that runs cassis context upload on the default branch. It publishes and records the commit; a failure shows in the job. |
| Close the fixed issue | When the pull request description has a Resolves <issue-id> line, Cassis closes the issue once the merge is published. | Close it yourself with cassis issues resolve after checking the fix is live. |
| Keep app edits in the repository | Cassis commits a publish from the web app to the default branch, and a Cassis branch can open a pull request. | Nothing carries them over: a publish from the web app never reaches the repository, and the next upload replaces it. Edit in the repository only. |
| Run the eval suite | Not done by the App. | Run cassis eval run, or cassis verify, in CI. You do this with or without the App. |
Choose the App if your repository is on GitHub and you want checks and publishing without maintaining a pipeline, or if anyone will publish from the web app. Choose CI if you are on another provider, or prefer to keep every step in a pipeline you control.
Use either the GitHub App or a default-branch upload job for a project, not both. They are two ways to publish the same complete context.
Publish from CI
There is no repository connection to configure in Cassis. Store CASSIS_API_KEY in your CI secrets, then add two jobs:
- On a pull or merge request, run
cassis verify: formatting,context check, and the eval suite. - On the default branch, run
cassis context uploadto publish the merged tree.
The CI guide has copy-paste examples for GitHub Actions and GitLab CI.
Connect the GitHub App
- In Cassis, open Settings → GitHub → Connect GitHub.
- Install the Cassis App for the repositories it should access.
- Select the project and repository, confirm the context path, and save.
- Open a test pull request that changes a context file. Cassis should post a
cassis / ontology validationcheck. After merge, the new Cassis version should record the commit.
A merge that touches the context path always creates a new version recording the merged commit, even when the context it brings matches the published one. A push that touches no file under the context path is skipped and creates no version. Add the eval suite to your CI, as in the CI guide.