The pipeline is how a change becomes a release. It has five stages:
| Stage | What it covers |
|---|---|
| Source | What the CLI builds from, and whether a change rebuilds it on its own |
| Build | The latest build. Every version builds in its own sandboxes, for macOS, Linux, and Windows |
| Checks | Every command answers --help and doctor runs before a build can be released. Lint only warns |
| Release | Where the code lives, and how a new version reaches it |
| Publish | The Okibi installer, and optionally npm and Homebrew |
Open the project's Overview. The Pipeline card shows each stage. Click a stage to see why it reads as it does and to set it up.
Owners, admins, and builders can change the Source and Release settings. npm, Homebrew, publishing commits, and approving a major release need an owner or admin.
Rebuild on every push
For a CLI built from a GitHub repository, auto-generate rebuilds it whenever its branch changes. A linked repository rebuilds on every push. A public repository pasted by its link is checked every hour, and rebuilds when it has a new commit.
In the Source stage, click Change next to Auto-generate, and turn on Rebuild on pushes to the repository. The switch saves at once. To watch another branch, change Branch and click Save. For a public repository pasted by its link, click Watch: the dialog is Watch for changes (hourly).
- Every build, even one you start by hand, builds this branch and counts toward your plan's limit. For a pasted public repository, an hourly check that finds no new commit costs nothing.
- When a watch pauses, or can no longer read its branch, save it again to take it over and resume. From the terminal, run
onagain with no--branch.
Rebuild when the spec changes
For a CLI built from an OpenAPI link, Okibi can check the link and rebuild when the spec changes. Only changes to operations, parameters, bodies, auth, or servers start a build.
In the Source stage, click Change next to Auto-generate. Turn on Regenerate when the OpenAPI spec changes, and pick how often to Check: Every hour, Every 6 hours, or Every day. Check now checks it right away.
When a rebuild finds new endpoints, it adds them as commands and keeps everything in okibi.yml. Agent ready optimization then improves only what the change touched.
Choose how versions are released
The first publish always goes straight to the repository. After it, each new version takes the CLI's release path:
| Path | What happens |
|---|---|
| Push to default branch | Each build goes straight to the default branch, and you choose the official version. |
| Release pull request | Builds collect in one release pull request. Merging it, or pushing a new version to the default branch, releases and tags it. |
Until someone chooses, a CLI uses a release pull request while auto-generate or the spec watch is on.
In the Release stage, open How it releases and pick Push to default branch or Release pull request.
An open release pull request stays the way out until it's merged or closed.
Handle a release pull request
The Release PR row shows the open pull request. Click Open to see it on GitHub. When it needs a person, the button is Details, which shows what it holds and what it needs from you. Needs you on the dashboard also lists a release pull request that waits on a person.
- Breaking changes. A release pull request whose commands changed incompatibly releases as a minor version until an owner or admin approves a major one. Click Release as major, or run
okibi clis pipeline approve-major my-cli. - A failed release. When a merged release pull request, or a version pushed to the default branch, didn't release, click Retry release, or run
okibi clis pipeline retry-release my-cli. When both failed, add--pull-requestor--push.
A version pushed to the default branch
On the release pull request path, you can also release by pushing a version bump straight to the published default branch. It releases like a merged release pull request. The Release stage's Pushed version row shows it; if it didn't release, Details offers Retry release, or run okibi clis pipeline retry-release my-cli --push.
Where the code lives and where it's published
The Release stage also holds Repository (where the code lives) and the Official version. The Publish stage holds the Okibi installer and npm and Homebrew. See Releases and install and npm and Homebrew.
