Skip to content

Ops Validation Workflow

.github/workflows/ops-validate.yml is the path-scoped pull-request lane for the checked-in operational surface. It validates repository contracts and renders the kind profile. It does not provision a cluster or establish live service behavior.

flowchart LR
    Change[Matching pull-request path] --> Lane[ops-validate job]
    Lane --> Doctor[Repository doctor]
    Lane --> Targets[Make target inventory]
    Lane --> Validate[Ops validation for kind]
    Lane --> Render[Kubernetes render]
    Lane --> Schema[Ops schema validation]
    Lane --> Inventory[Ops inventory]
    Doctor --> Bundle[Run-scoped reports and logs]
    Targets --> Bundle
    Validate --> Bundle
    Render --> Bundle
    Schema --> Bundle
    Inventory --> Bundle

Trigger Boundary

The workflow runs for pull requests changing:

  • ops/**;
  • crates/bijux-atlas-dev/**;
  • makes/ops.mk;
  • .github/workflows/ops-validate.yml.

Changes outside those paths do not trigger this lane even if they affect runtime behavior relevant to operations. Cross-boundary changes need the appropriate product, system, security, load, or release evidence in addition to this path filter.

Executed Checks

Workflow operation Retained evidence
make FORMAT=json doctor doctor logs and copied doctor reports when produced
make help and make makes-target-list command logs and makes-target-list.json
make FORMAT=json ops-validate stdout and stderr logs
bijux-atlas-dev ops validate --profile kind reports/ops-validate.json
make FORMAT=json k8s-render render logs and copied render report when produced
bijux-atlas-dev ops schema validate reports/ops-schema-validate.json
bijux-atlas-dev ops inventory reports/ops-inventory-validate.json

The workflow runs the doctor twice: once during the main validation operation and once as the named required doctor operation. Both results can appear in the bundle under different report names.

Evidence Custody

The run identifier includes the pull-request or workflow run identity plus the attempt. Reports, logs, and the summary are uploaded from artifacts/<run-id>/ even on failure, with five-day retention. Cargo state is cached separately beneath artifacts/isolates/ops-validate and is not included as operational proof.

The job declares network access for its command environment, but it does not create a Kind cluster, run load traffic, inject failures, execute the declared Kubernetes conformance catalog, or verify rollout and recovery against a live deployment. Those claims require their dedicated lanes and target-bound reports.

Review Decision

A green run establishes that the selected repository commands accepted the checked-in ops surface for the kind profile on the hosted runner. Reviewers must still inspect which reports were present, the source revision, and whether the change requires runtime evidence beyond structural validation.

Stability

Trigger paths, command selection, report names, and artifact retention are part of the workflow contract. Changing them alters which operational changes are observed and what reviewers can recover from a run.