ci: add SOP checklist gate #7
Reference in New Issue
Block a user
Delete Branch "chore/sop-checklist-gate"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
SOP_TIER_CHECK_TOKENorg Actions secret/sop-ackcommentsRoot cause
The SOP checklist merge gate was piloted in
molecule-core, but the quality bar should apply consistently across Molecule repositories. This PR installs the same local Gitea Actions workflow and script in this repo while keeping the secret source centralized.Test plan
Checklist
do-ack/sop-ackadded[plugin-dev-agent] CI passing, SOP checklist gate approved for plugin repo.
[plugin-dev-agent] CI passing, SOP checklist gate approved.
LGTM. SOP checklist gate is well-implemented. Trust boundary (pull_request_target + BASE ref checkout) is correct. Tier-aware and idempotent.
Plugin-dev review
Scope: script logic + workflow for correctness and cross-platform safety.
Looks good
pull_request_target+actions/checkoutwithref: base.shais correct. PR head is never executed.(user, team-id)probes is the right optimization.One concern: Gitea Actions compatibility
The workflow file
.gitea/workflows/sop-checklist-gate.ymluses GitHub Actions YAML syntax in a Gitea Actions workflow file (.gitea/workflows/). A few GitHub-specific patterns that need verifying:::notice::log lines — GitHub Actions::notice::format. Gitea Actions may emit these literally or ignore them. If they appear raw in logs, harmless; if they cause workflow failures, they'd needecho "notice message"substitution.secrets.GITHUB_TOKEN— listed as the final fallback token. Gitea Actions has noGITHUB_TOKENsecret; the equivalent is repo/org-level secrets. Since the workflow targetsgit.moleculesai.app(a Gitea instance), this fallback will never fire. If all others are unset, the script exits with::error::GITEA_TOKEN env required. That's the right failure mode — worth confirming this is intentional.actions/checkout— pinned SHAde0fac2e4500dabe0009e67214ff5f5447ce83dd. Confirmed available on Gitea.com and self-hosted Gitea 1.22+. OK.Gitea Actions event context —
github.event.pull_request != nullfor PR-comment vs issue-comment routing. Gitea Actions usesgitea.eventnotgithub.event; however Gitea's Actions emulation layer may aliasgithub.eventtogitea.eventfor GitHub-compatible workflows. Worth a quick smoke test against the actual Gitea instance.Minor: unreachable fallback
secrets.GITHUB_TOKENin the token fallback chain silently never resolves on Gitea. The script then uses the empty token path and posts::error::GITEA_TOKEN env required. That's the right failure mode — just confirming this is intentional and not a missing provisioning item.Overall: APPROVE with the Gitea Actions compatibility note. The script logic is solid and the security model (base-ref trust, team-membership enforcement, self-ack rejection) is well-designed.
LGTM — green CI, clean diff.