Octri

Builds and quality

Every SDK build runs through a series of checks, and you can follow each one per language. Open Builds in SDK Studio to track builds and download the results. New builds start when you publish.

How a build works

  1. Generate

    Octri generates the source for each language you've enabled, independently, so one language failing doesn't block the rest.

  2. Push to staging

    With repositories set up, generated source lands in that language's staging repository.

  3. Check quality

    The SDK Quality job runs on GitHub Actions in the staging repository. You can read its log from the build.

  4. Promote to production

    Promotion pushes the exact commit that was staged to your production repository. Generation never writes there directly.

Without repositories, a build still generates source you can download.

Quality checks

Each language's package goes through these stages. A failure records the first one that went wrong.

CheckWhat it proves
GenerateThe generator produced the package
FormatThe code passes the language's formatter
LintThe code passes the language's linter
CompileThe code compiles
Native testsThe generated tests pass
Contract testsThe SDK behaves as your spec says it should
PackageThe package can be built for distribution
Consumer installA fresh project can install and use it

Lint and formatting warnings don't block promotion when Compile and Package pass.

Quality states

Each artifact in the build history shows one of these states.

StateMeaning
ReadyThe required checks passed. This SDK can be published
Quality failedA check failed. Its result says which
Quality pendingChecks are still running
Quality unverifiedThere is no report for this build

When a language shows Source ready, Quality failed, its source can still be downloaded and published. Review the results before using it. Promotion is stricter: staging quality must pass first.

If a build has failed, troubleshooting lists the causes by check.

Downloading a build

Press Download to get a language's ZIP, or Copy download link to share it.

The link is permanent and needs no sign-in, so you can hand it to a customer or use it in a script. Your analytics counts each download, by language.

Treat the link as public

Anyone who has the link can download that build. Share it the way you'd share a public file.

Working from a terminal

Previews, builds, downloads and retries all work from the CLI. See SDK commands. octri lab run does the whole loop in one command and keeps each build's files, so octri lab diff can show what changed between two builds.

See CI setup.

Getting notified

The sdk.build_completed, sdk.build_failed, sdk.published and sdk.publish_failed webhook events can post to Slack, Discord or your own endpoint.

How many are kept

Each plan keeps a number of SDK versions. See plans and limits.