Tracking: close release-please coverage gaps across dryvist
Triggered by an audit on 2026-05-30. Resolves Q3 of the local
release-please-config-review plan.
ci-cd-policy.md states "All repos use release-please." The audit below shows that 17 of 39 non-archived dryvist repos are fully migrated to the _release-please.yml reusable workflow, 1 uses a direct call, 1 has an orphan manifest (no workflow), and 19 have nothing.
Current state (audited 2026-05-30)
REUSABLE (17) — fully migrated, doing the right thing:
ai-assistant-instructions, ai-workflows, ansible-proxmox, ansible-proxmox-apps, ansible-splunk, cc-edge-pack-template, claude-code-plugins, mlx-benchmarks, nix-ai, nix-darwin, nix-devenv, nix-home, orbstack-kubernetes, raycast-smart-issue, terraform-proxmox, terraform-runs-on, tf-splunk-aws
DIRECT call to googleapis/release-please-action@v4 (1) — should migrate:
ORPHAN manifest, no workflow (1) — broken; release-please does nothing:
NO release-please at all (19) — categorized:
| Category |
Repos |
| Meta / excluded |
.github, .github-tofu |
| Templates (should ship versioning) |
python-template, terraform-aws-template |
| Public utility |
cc-edge-claude-code-io, claude-code-best-practice, claude-code-routines, nix-ai-server, nix-pxe-bootstrap, nixos-ai |
| Docs |
docs, docs-starlight |
| Private (different secrets-sync needs) |
cribl-migration, homelab-schemas, int_homelab, nix-mac-performance, nix-screenpipe, terraform-aws, terraform-unifi, unifi-config |
Blocker for nix-claude-code (Q3a) and terraform-github (Q3c) migrations
The _release-please.yml reusable workflow needs vars.GH_APP_CLIENT_ID + secrets.GH_APP_PRIVATE_KEY resolving to a GitHub App that is installed on the consuming repo.
- Org-level
vars.GH_APP_CLIENT_ID = Ov23liw1JmFMwHTqb8HE (App ID 3509510) — this App is NOT in gh api orgs/dryvist/installations.
- Working repos (e.g.
terraform-proxmox, nix-darwin) all carry repo-level overrides: vars.GH_APP_CLIENT_ID = Iv23li1hLRLXXMeXwO6f (App ID 2520943).
- nix-claude-code and terraform-github carry NO repo-level vars/secrets. Migrating their workflows today would mint a token against an uninstalled App → 401.
The distribution mechanism is JacobPEvans-personal/secrets-sync/secrets-config.yml, anchor _github_app_repos. nix-claude-code and terraform-github are absent from that anchor.
Action items (ordered)
Audit reproducibility
The audit was generated with this one-liner (re-run any time to refresh the table):
for repo in $(gh repo list dryvist --no-archived --limit 100 --json name --jq '.[].name' | sort); do
m=$(gh api "repos/dryvist/$repo/contents/.release-please-manifest.json" --silent 2>/dev/null && echo Y || echo .)
w=$(gh api "repos/dryvist/$repo/contents/.github/workflows/release-please.yml" --silent 2>/dev/null && echo Y || echo .)
if [ "$w" = "Y" ]; then
c=$(gh api "repos/dryvist/$repo/contents/.github/workflows/release-please.yml" --jq .content 2>/dev/null | base64 -d)
if echo "$c" | grep -q "_release-please.yml@main"; then t=reusable
elif echo "$c" | grep -q "googleapis/release-please-action"; then t=direct
else t=unknown; fi
else t=-; fi
printf "%-30s %-2s %-2s %s\n" "$repo" "$m" "$w" "$t"
done
Related
Tracking: close release-please coverage gaps across dryvist
Triggered by an audit on 2026-05-30. Resolves Q3 of the local
release-please-config-review plan.
ci-cd-policy.mdstates "All repos use release-please." The audit below shows that 17 of 39 non-archived dryvist repos are fully migrated to the_release-please.ymlreusable workflow, 1 uses a direct call, 1 has an orphan manifest (no workflow), and 19 have nothing.Current state (audited 2026-05-30)
REUSABLE (17) — fully migrated, doing the right thing:
ai-assistant-instructions,ai-workflows,ansible-proxmox,ansible-proxmox-apps,ansible-splunk,cc-edge-pack-template,claude-code-plugins,mlx-benchmarks,nix-ai,nix-darwin,nix-devenv,nix-home,orbstack-kubernetes,raycast-smart-issue,terraform-proxmox,terraform-runs-on,tf-splunk-awsDIRECT call to
googleapis/release-please-action@v4(1) — should migrate:nix-claude-codeORPHAN manifest, no workflow (1) — broken; release-please does nothing:
terraform-githubNO release-please at all (19) — categorized:
.github,.github-tofupython-template,terraform-aws-templatecc-edge-claude-code-io,claude-code-best-practice,claude-code-routines,nix-ai-server,nix-pxe-bootstrap,nixos-aidocs,docs-starlightcribl-migration,homelab-schemas,int_homelab,nix-mac-performance,nix-screenpipe,terraform-aws,terraform-unifi,unifi-configBlocker for nix-claude-code (Q3a) and terraform-github (Q3c) migrations
The
_release-please.ymlreusable workflow needsvars.GH_APP_CLIENT_ID+secrets.GH_APP_PRIVATE_KEYresolving to a GitHub App that is installed on the consuming repo.vars.GH_APP_CLIENT_ID = Ov23liw1JmFMwHTqb8HE(App ID3509510) — this App is NOT ingh api orgs/dryvist/installations.terraform-proxmox,nix-darwin) all carry repo-level overrides:vars.GH_APP_CLIENT_ID = Iv23li1hLRLXXMeXwO6f(App ID2520943).The distribution mechanism is
JacobPEvans-personal/secrets-sync/secrets-config.yml, anchor_github_app_repos. nix-claude-code and terraform-github are absent from that anchor.Action items (ordered)
nix-claude-codeandterraform-githubto the_github_app_reposanchor. Run the distribution workflow.GH_APP_CLIENT_ID/GH_APP_PRIVATE_KEY/GH_APP_IDpopulated on both repos.nix-claude-code/.github/workflows/release-please.ymlbody withuses: JacobPEvans-personal/.github/.github/workflows/_release-please.yml@main. Reference: identical pattern indryvist/nix-darwin/.github/workflows/release-please.yml.release-please.ymltoterraform-githubcalling the same reusable. Manifest already exists; verifyrelease-please-config.jsonis present and valid.python-template,terraform-aws-template,docs,claude-code-routines,claude-code-best-practice. Each needsrelease-please-config.json+.release-please-manifest.json+release-please.yml(reusable caller) + secrets-sync inclusion + (optionally) aVERSIONfile forrelease-type: simple.release-type: simple(per currentci-cd-policy.md) or update the policy to carve out documented exclusions and list them.Audit reproducibility
The audit was generated with this one-liner (re-run any time to refresh the table):
Related
core.hooksPathconflict with pre-commitextends. The reusable workflow atJacobPEvans-personal/.github/.github/workflows/_release-please.ymlis the canonical workflow dedup; configs stay per-repo.