ci_reconcile.ts

Reconciles each repo's declared ci flag against whether it actually has GitHub Actions workflow files on disk.

The gitops config derives ci from visibility (on for public repos, off for private) with per-repo overrides; this check catches drift between that declaration and reality — a repo that claims CI but ships no workflow, or one that disclaims CI yet still carries one. Repos that aren't checked out locally can't be judged, so the caller marks them uncheckable and they're skipped. Archived repos are frozen on their host, so their CI state is intentionally left alone and they're skipped too.

view source

Declarations
#

5 declarations

CiDrift
#

ci_reconcile.ts view source

CiDrift import type {CiDrift} from '@fuzdev/fuz_gitops/ci_reconcile.js';

repo_url

type string

ci

The declared/derived ci value.

type boolean

has_workflows

type boolean

kind

type CiDriftKind

CiDriftKind
#

ci_reconcile.ts view source

CiDriftKind import type {CiDriftKind} from '@fuzdev/fuz_gitops/ci_reconcile.js';

How a repo's declared ci diverges from its workflow files on disk.

CiReconcileInput
#

ci_reconcile.ts view source

CiReconcileInput import type {CiReconcileInput} from '@fuzdev/fuz_gitops/ci_reconcile.js';

repo_url

type string

ci

The declared/derived ci value from the gitops config.

type boolean

has_workflows

Whether the repo has at least one workflow file on disk.

type boolean

checkable

Whether the repo is checked out locally; uncheckable repos are skipped.

type boolean

archived

Whether the repo is archived (frozen) on its host; archived repos are skipped.

type boolean

reconcile_ci
#

ci_reconcile.ts view source

(repos: CiReconcileInput[]): CiDrift[] import {reconcile_ci} from '@fuzdev/fuz_gitops/ci_reconcile.js';

Compares each repo's declared ci against its actual workflow presence.

repos

type CiReconcileInput[]

returns

CiDrift[]

one CiDrift per repo whose declaration and reality disagree

repo_has_workflows
#

ci_reconcile.ts view source

(repo_dir: string): boolean import {repo_has_workflows} from '@fuzdev/fuz_gitops/ci_reconcile.js';

Whether a local repo directory contains at least one GitHub Actions workflow.

repo_dir

absolute or cwd-relative path to the repo's local directory

type string

returns

boolean

Imported by
#