Skip to content

Lock public CI with native disable plus invert guard - #17

Merged
jonbeckman merged 4 commits into
masterfrom
cursor/public-repo-secretless-ci-ef98
Aug 24, 2026
Merged

jonbeckman merged 4 commits into
masterfrom
cursor/public-repo-secretless-ci-ef98

Conversation

@jonbeckman

@jonbeckman jonbeckman commented Aug 24, 2026 •

Copy link
Copy Markdown
Contributor

Do not merge until the Engineering Manager / SolZero says to merge. Do not deploy.

Public SolZeroAI/platform stays secret-less CI only. This pull request does not add secrets, does not deploy, and does not disable or enable the public Deploy Preview workflow.

Summary

GitHub native disable plus a repository invert guard.

  • Keep preview.yml as valid, lintable YAML. Do not comment it out. Do not delete jobs.
  • Secret-using jobs and Validate Test/Build use github.repository != 'SolZeroAI/platform'. The public repo never runs them. Any other repository, including forks, can run them without editing the file.
  • Existing Deploy Preview event conditions stay ANDed with that invert.
  • Preview comments use peter-evans/find-comment@v4 and peter-evans/create-or-update-comment@v5 (version tags only, no commit SHAs). Marker <!-- infra-preview -->, author github-actions[bot], edit-mode: replace. Cleanup updates only when find-comment finds a comment.
  • Every uses: is a version tag. actions/checkout@v7, actions/upload-artifact@v7, actions/download-artifact@v8, nubjs/setup-nub@v0.4.0 (latest v0.x; no newer v0.x tag exists), reviewdog/action-actionlint@v1. No commit SHAs and no # sha comments.
  • Public Validate always runs install, secret-less config:check, typecheck, lint, format, and reviewdog/action-actionlint@v1.
  • On SolZeroAI/platform, disable Deploy Preview with Actions → Deploy Preview → Disable workflow (gh workflow disable preview.yml). Disabled state is per-repo. Fork owners enable it on their Actions page. GitHub disables scheduled workflows on public forks by default. The invert guard is the belt if the public workflow is enabled.
  • release.yml waits for Validate success on a same-repo master push and still uses GITHUB_TOKEN only.
  • Docs match this invert. They do not tell people to comment the YAML out, and they do not claim jobs run only on jonbeckman/solzero.

config/pre.config.jsonc and config/prod.config.jsonc stay example-shaped. No live hostnames or secrets were added.

Validation

Head 4e213fc. Public Validate did not start on SolZeroAI/platform:

The action reviewdog/action-actionlint@v1 is not allowed in SolZeroAI/platform because all actions must be from a repository owned by SolZeroAI, created by GitHub, or match the pattern nubjs/setup-nub@v0*.

This pull request does not work around that with a tarball or docker://rhysd/actionlint. Public Validate stays green only after the org allows reviewdog/action-actionlint@v1.

Invert guards are unchanged: Test/Build skip on SolZeroAI/platform. Preview jobs stay gated by github.repository != 'SolZeroAI/platform'.

Checklist

  • I added or updated tests for behavior changes, or explained why tests are not needed.
  • I updated documentation and config examples when behavior or configuration changed.
  • I added a .tegami/ release entry, or explained why this pull request uses release:none.
  • Public Validate is not green yet: org action allowlist blocks reviewdog/action-actionlint@v1.
  • I did not include credentials, private data, internal URLs, or organization-specific defaults.
  • I updated THIRD_PARTY_NOTICES.md for new third-party code or separately licensed assets. Not applicable.

Tests are not added because this is GitHub Actions and process documentation only.

release:none: this is CI and operator-process documentation. It does not change product behavior, and it must not bump the SolZero version.

No deploy: do not run Deploy Preview, nub run infra:deploy:*, or any production publish from this pull request. Do not enable or disable the public workflow from this change.

Open in Web Open in Cursor 

Run Validate on every pull request and master push. Keep Test and Build
in YAML, but gate them to the private deploy fork. Keep Deploy Preview
as a gated template and retarget Release to Validate so Tegami still
publishes without Cloudflare secrets.

Co-authored-by: Jonathan Beckman <jonathantbeckman@gmail.com>
@jonbeckman jonbeckman added the release:none label Aug 24, 2026 — with Cursor
@github-actions

github-actions Bot commented Aug 24, 2026 •

Copy link
Copy Markdown
Contributor

Tegami

This repository uses Tegami to manage releases. When your changes affect published packages, add a changelog file under .tegami/ before merging.

Create a changelog → · Changelog format

Release preview

Package Bump Version
solzero minor 1.5.0 → 1.6.0

This PR does not add changelog files. Pending changelogs from other branches are included in the preview above.

Run nub run tegami locally to create a changelog interactively.

Managed by Tegami.

Replace peter-evans comment actions with GitHub-owned github-script so
SolZeroAI/platform's action allowlist does not fail the workflow at
startup. Secret-using jobs stay gated to jonbeckman/solzero.

Co-authored-by: Jonathan Beckman <jonathantbeckman@gmail.com>
@jonbeckman
jonbeckman marked this pull request as ready for review August 24, 2026 16:42
Replace equality gates with github.repository != SolZeroAI/platform so
any non-public fork can run secret-using jobs without editing YAML.
Keep preview.yml valid and add pinned actionlint to public Validate.

Co-authored-by: Jonathan Beckman <jonathantbeckman@gmail.com>
@cursor cursor Bot changed the title Lock public CI to secret-less Validate; gate Deploy Preview to jonbeckman/solzero Lock public CI with native disable plus invert guard Aug 24, 2026
Use peter-evans find-comment@v4 and create-or-update-comment@v5 for
preview comments. Pin checkout, artifact, and reviewdog actionlint to
moving version tags. Keep nubjs/setup-nub@v0.4.0. Drop commit SHAs.

Co-authored-by: Jonathan Beckman <jonathantbeckman@gmail.com>
@jonbeckman
jonbeckman merged commit a136ed1 into master Aug 24, 2026
4 checks passed
@jonbeckman
jonbeckman deleted the cursor/public-repo-secretless-ci-ef98 branch August 24, 2026 17:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants