Status (2026-08): Caller
sync-wiki.ymlworkflows were removed org-wide. This action remains in-repo but is not invoked until callers are restored.
Automatically keep an LLM Wiki-style docs repository up to date when main changes in source repositories.
On every push to main:
- Collects the commit diff (or a full repo snapshot on first push)
- Filters changed files using
.github/wiki-sync.yml - Calls LiteLLM (internal cluster) to decide if the change is wiki-relevant
- Updates the docs repo under
wiki/(pages,index.md,log.md) - Commits and pushes directly to the docs repo
mainbranch
Each customer org needs a docs repo (e.g. internal-docs) with this structure:
internal-docs/
├── wiki/
│ ├── AGENTS.md
│ ├── index.md
│ ├── log.md
│ ├── overview.md # optional
│ ├── summaries/
│ ├── concepts/
│ └── entities/
Use AGENTS.md.template as the starting schema.
Create and install a GitHub App (managed by Resizes) with:
| Permission | Access |
|---|---|
| Contents | Read on source repos |
| Contents | Write on docs repos |
| Metadata | Read |
Install the app on:
- Resizes org (pilot)
- RavenwitsSL org (second rollout)
- Each customer's org
Grant repository access to source repos and the customer's docs repo.
LiteLLM must be reachable from ARC runners at an internal URL. The action uses the OpenAI-compatible /v1/chat/completions endpoint with the server default model (no model override in requests).
Set org variables:
| Variable | Example |
|---|---|
LITELLM_BASE_URL |
http://litellm.litellm.svc.cluster.local:4000 |
WIKI_SYNC_APP_ID |
GitHub App ID |
Set org secrets:
| Secret | Purpose |
|---|---|
WIKI_SYNC_APP_PRIVATE_KEY |
GitHub App PEM key |
LITELLM_API_KEY |
Optional, if LiteLLM requires auth |
Add .github/wiki-sync.yml to each source repository.
Copy example-caller-workflow.resizes.yml to .github/workflows/wiki-sync.yml in each Resizes source repo.
Copy example-caller-workflow.ravenwits.yml to .github/workflows/wiki-sync.yml in each RavenwitsSL source repo.
- Ensure
Resizes/internal-docsexists with the LLM Wiki layout andwiki/AGENTS.md. - Pick one low-traffic source repo (e.g. this
github-actionsrepo). - Add
.github/wiki-sync.ymland the caller workflow withdry_run: true(or useworkflow_dispatch). - Push a docs-relevant change to
main(e.g. update a README section describing behavior). - Review the job summary for proposed wiki updates.
- Push a non-relevant change (test-only) and confirm the job skips writes.
- Set
dry_run: falsein the caller workflow (or remove the override). - Push a docs-relevant change and verify a commit lands in
Resizes/internal-docs. - Confirm
wiki/log.mdhas a new ingest entry andwiki/index.mdreflects the change.
- Install the GitHub App on RavenwitsSL with access to
internal-docsand pilot source repos. - Repeat dry-run then live-push validation using the RavenwitsSL caller workflow template.
| Input | Required | Default | Description |
|---|---|---|---|
github_app_id |
yes | — | GitHub App ID |
docs_repository_owner |
yes | — | Docs repo owner |
docs_repository |
yes | — | Docs repo name |
docs_branch |
no | main |
Branch to push |
litellm_base_url |
no | internal K8s URL | LiteLLM base URL |
dry_run |
no | false |
Propose updates only |
runner |
no | actions-runners |
Runner label |
The action updates the wiki when changes affect:
- APIs, contracts, schemas, endpoints
- Infrastructure, deployment, configuration
- Architecture or behavior engineers/customers rely on
- Internal refactors with operational impact
It skips formatting-only, test-only, and no-behavior-change dependency bumps.
| Symptom | Check |
|---|---|
| LiteLLM connection error | LITELLM_BASE_URL reachable from ARC runners; DNS/service name |
| Permission denied on push | GitHub App has Contents: Write on docs repo |
| Config not found | .github/wiki-sync.yml exists in source repo |
| No updates for relevant change | Job summary reason; widen watch.paths; inspect LiteLLM response |
| JSON parse error | LiteLLM default model must return valid JSON; check LiteLLM logs |
wiki-sync/
├── action.yml
└── scripts/
├── wiki_sync.py
└── requirements.txt
.github/workflows/
└── wiki-sync.yml # reusable workflow
docs/wiki-sync/
├── README.md
├── example.wiki-sync.yml
├── example-caller-workflow.resizes.yml
├── example-caller-workflow.ravenwits.yml
└── AGENTS.md.template