Skip to content

CI: add zizmor security workflow and path-aware job gating - #18

Merged
rasuvaeff merged 1 commit into
masterfrom
ci/zizmor-path-gate
Aug 3, 2026
Merged

CI: add zizmor security workflow and path-aware job gating#18
rasuvaeff merged 1 commit into
masterfrom
ci/zizmor-path-gate

Conversation

@rasuvaeff

Copy link
Copy Markdown
Owner

Workspace-wide rollout of the CI hardening piloted on yii3-utm / yii3-utm-db / yii3-maintenance-mode (plan: yii3-package-plans/ci-workflow-hardening-plan.md).

  • New zizmor.yml — GitHub Actions security audit as a CI job (SHA-pinned zizmorcore/zizmor-action@… # v0.6.2, persona: auditor, advanced-security: false, annotations: true).
  • build.yml / static-analysis.yml — a changes gate job skips heavy downstream jobs on irrelevant (e.g. docs-only) changes; the workflow always starts, so required checks stay mergeable and the gate is fail-open.
  • release.yml — inline-comment contents: write so zizmor reports 0 findings.

Verified locally: zizmor --persona=auditor .github/ -> 0 findings; YAML parses; no runtime or behaviour change.

Mirror the templates/.github/workflows hardening (piloted on yii3-utm):

- zizmor.yml (new): SHA-pinned zizmorcore/zizmor-action v0.6.2 audits
  .github/**/*.yml on change (persona auditor, advanced-security off,
  annotations on, online-audits off).
- build.yml / static-analysis.yml: a `changes` gate job skips the heavy
  downstream jobs when the diff touches only irrelevant paths (docs,
  examples, etc.); the workflow always starts, so required checks stay
  mergeable and the gate is fail-open.
- release.yml: inline-comment the job-level `contents: write` so zizmor
  reports 0 findings.
@rasuvaeff
rasuvaeff merged commit a31bc4f into master Aug 3, 2026
10 checks passed
@rasuvaeff
rasuvaeff deleted the ci/zizmor-path-gate branch August 3, 2026 15:32
rasuvaeff added a commit that referenced this pull request Aug 3, 2026
A skipped matrix job posts one check run under its unexpanded name
template ("PHP ${{ matrix.php }}"), not per-version names, so the
required PHP 8.3/8.4/8.5 checks never resolve and the PR stays BLOCKED
forever. Confirmed live on bulkhead (PR #17/#18, same shape).
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