Skip to content

feat(verify): add verify_commits.sh, allowed_signers and reusable verify.yml 🔑 - #1

Merged
glokos merged 4 commits into
mainfrom
assem/dev-120
Jul 31, 2026
Merged

feat(verify): add verify_commits.sh, allowed_signers and reusable verify.yml 🔑#1
glokos merged 4 commits into
mainfrom
assem/dev-120

Conversation

@glokos

@glokos glokos commented Jul 31, 2026

Copy link
Copy Markdown
Contributor
  • verify_commits.sh enforces ssh signatures from enrolled hardware-backed sk- keys on every human commit
  • allowed_signers is the canonical enrollment registry
  • verify.yml self-checks-out via job.workflow_repository at job.workflow_sha, pinning script and allowlist to the caller's ref
  • self-verify.yml runs the check on this repo's own prs
  • codeowners requires devops review on every change

glokos added 3 commits July 31, 2026 15:57
…ify.yml 🔑

- verify_commits.sh enforces ssh signatures from enrolled hardware-backed sk- keys on every human commit
- allowed_signers is the canonical enrollment registry
- verify.yml self-checks-out via job.workflow_repository at job.workflow_sha, pinning script and allowlist to the caller's ref
- self-verify.yml runs the check on this repo's own prs
- codeowners requires devops review on every change
- zizmor-action v0.6.1 pinned by sha, zizmor 1.28.0 docker image pinned by digest
- annotations mode with sticky pr comment carrying the full findings table
- baseline scan is clean
@linear-code

linear-code Bot commented Jul 31, 2026

Copy link
Copy Markdown
DEV-120 Move commit-signature verification into a dedicated commit-signing repo

Host the commit-signature verification in its own dedicated public repo, not the generic reusable-workflows repo (DEV-183), per Anuj's recommendation (Slack thread linked). The repo is the canonical home of the allowed_signers list and the reusable verify workflow.

Repo structure:

cowprotocol/commit-signing/     (public repo)
├── .github/workflows/
│   ├── verify.yml          # reusable workflow other repos call
│   └── self-verify.yml     # checks this repo's own PRs
├── verify_commits.sh       # from infra PR #6272
├── allowed_signers         # the canonical list
├── CODEOWNERS
└── README.md

Enforcement: roll out org-wide via GitHub's organization-wide required workflows feature, so repos consume one maintained implementation and cannot opt out.

Related: DEV-155 (commit signing v2, source of the verify script), DEV-183 (generic reusable-workflows repo, deliberately kept separate), DEV-199 (bot key in allowed_signers).

Review in Linear

- arm64 platform digest broke amd64 runners with exec format error
- index digest lets docker resolve the host platform
@github-actions

Copy link
Copy Markdown

🌈 zizmor

✅ No findings in GitHub Actions workflows.

@glokos
glokos merged commit 701e325 into main Jul 31, 2026
4 checks passed
@glokos
glokos deleted the assem/dev-120 branch July 31, 2026 14:19
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.

1 participant