Skip to main content

GitHub Actions

This page explains how to use Ogoron from GitHub Actions.

What this gives you

Ogoron provides a set of reusable GitHub Actions for Linux runners:

  • setup — initialize or upgrade Ogoron in a repository and open a PR
  • exec — install Ogoron and run explicit commands
  • generate — generate unit, API, and UI artifacts
  • heal — run healing workflows for generated or project tests
  • run — execute unit and UI tests with CI-friendly skip behavior when generated tests are absent

Repository:

Marketplace:

Required secrets

OGORON_REPO_TOKEN

This is the main Ogoron repository access token used by the CLI inside GitHub Actions.

Get it in:

Store it as a GitHub Actions repository or organization secret.

OGORON_LLM_API_KEY

Only needed when your Ogoron access mode uses BYOK.

If your Ogoron access already includes managed model access, this secret is not required.

GITHUB_TOKEN

This is only needed for workflows that create branches or pull requests, for example setup.

Typical permissions:

  • contents: write
  • pull-requests: write
  1. Run setup manually once.
  2. Review and merge the bootstrap PR.
  3. Add generation and execution workflows.
  4. Add healing workflows later, after generated tests are already part of the repository flow.

Example: setup

name: Ogoron Setup

on:
workflow_dispatch:

jobs:
setup-ogoron:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write

steps:
- uses: actions/checkout@v4

- name: Set up Ogoron
uses: OgoronAI/ogoron-actions/setup@v1
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OGORON_REPO_TOKEN: ${{ secrets.OGORON_REPO_TOKEN }}
OGORON_LLM_API_KEY: ${{ secrets.OGORON_LLM_API_KEY }}

Example: generate

name: Ogoron Generate

on:
workflow_dispatch:

jobs:
generate:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Generate artifacts
uses: OgoronAI/ogoron-actions/generate@v1
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
OGORON_REPO_TOKEN: ${{ secrets.OGORON_REPO_TOKEN }}
OGORON_LLM_API_KEY: ${{ secrets.OGORON_LLM_API_KEY }}
with:
unit: "true"
api: "true"
ui: "true"
scope: "since:HEAD~5"

Example: low-level exec

name: Ogoron Exec

on:
workflow_dispatch:

jobs:
exec:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Run explicit Ogoron commands
uses: OgoronAI/ogoron-actions/exec@v1
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
OGORON_REPO_TOKEN: ${{ secrets.OGORON_REPO_TOKEN }}
OGORON_LLM_API_KEY: ${{ secrets.OGORON_LLM_API_KEY }}
with:
commands: |
ogoron --version
ogoron generate unit-tests --from-diff --git-scope since:HEAD~5

Notes

  • Current public actions are Linux-only.
  • Current actions assume released Linux Ogoron bundles.
  • generate api-tests currently does not have a first-class diff mode in the CLI. The generate action uses a git-scope-driven prompt workaround for API generation.
  • If you publish your own workflows, keeping FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true is the safest default while GitHub transitions JavaScript actions to Node 24.