Skip to content

feat: Run the catalog on the shared workflows - #244

Merged
0xmc merged 1 commit into
mainfrom
feat/236-shared-catalog-workflows
Nov 10, 2026
Merged

0xmc merged 1 commit into
mainfrom
feat/236-shared-catalog-workflows

Conversation

@0xmc

@0xmc 0xmc commented Nov 10, 2026

Copy link
Copy Markdown
Contributor

Summary

This catalog's index rebuild and release scan push with the built-in token, so every pull request they open needs a maintainer to approve its workflow runs, and its pull request check passes without validating any manifest.

This moves the catalog to the shared plugin catalog workflows, which push with the release bot's GitHub App and validate every manifest, as the Milo catalog already does. The published index stays the same.

Test plan

  • Every manifest passes the shared checks, all 50 archives match their checksums, datumctl accepts the index, and the index is unchanged
  • After merge, the next plugin update opens a rebuild pull request that runs CI without a workflow approval

Fixes #236
Fixes #37

🤖 Generated with Claude Code

This catalog's index rebuild and release scan pushed with the
built-in token, so GitHub held every run they triggered until a
maintainer approved it, and its pull request check passed without
validating any manifest.

The catalog now uses the shared plugin catalog workflows from
datum-cloud/actions v1.27.1. The rebuild and scan push with the
release bot's GitHub App, so CI runs on their pull requests without
an approval, and validation checks every manifest, runs datumctl's
own validator, and downloads the archives a pull request changes.
Its own scripts and schema copy go. The index has no header, as
before, so what datumctl reads doesn't change.

Fixes #236
Fixes #37

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@0xmc
0xmc requested a review from ecv November 10, 2026 19:06

@ecv ecv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approve.

Callers match the Milo catalog's (same shared workflows at datum-cloud/actions@v1.27.1, a release tag, with least-privilege permissions and no secrets: inherit), the required check name ci / Build and test is preserved, and removed scripts have no remaining callers.

  • This passes RELEASE_BOT_APP_ID / RELEASE_BOT_APP_PRIVATE_KEY where Milo passes PLUGIN_INDEX_APP_*. The release bot secrets are used by the plugin release workflows in compute, network-services-operator and dns-operator, so they are likely org-wide, but confirm the App is installed on this repo with contents and pull request write. If not, rebuild and scan fail at the token mint, which the unchecked test-plan item would catch.
  • The shared schema is stricter than the deleted one (additionalProperties: false on platforms, HTTPS-only uri pattern). The PR says all manifests pass; worth confirming that held on the latest plugins/ at merge time.
  • catalog-health passes no name, description, owner or homepage, and the rebuild passes none either, so the index header stays bare like today's index.yaml. The two are consistent. Milo sets all four, so a catalog name in datumctl plugin index list is a possible follow-up.

Follow-ups:

  • The rebuild branch changes from chore/regen-index to regenerate-index; no PR is open on the old branch today, but delete the stale branch if one exists.
  • Auto-merge on the rebuild PR needs repo auto-merge enabled and the App allowed by the branch rules, per the shared README; check once after the first run.

@0xmc
0xmc merged commit af2c380 into main Nov 10, 2026
2 checks passed
@0xmc
0xmc deleted the feat/236-shared-catalog-workflows branch November 10, 2026 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Adopt the shared catalog workflows validate-pr.yaml passes without checking any manifest

2 participants