Skip to content

Add zizmor integration - #15

Merged
zemd merged 6 commits into
mainfrom
zemd/add-zizmor
Aug 8, 2026
Merged

Add zizmor integration#15
zemd merged 6 commits into
mainfrom
zemd/add-zizmor

Conversation

@zemd

@zemd zemd commented Aug 7, 2026

Copy link
Copy Markdown
Owner

This pull request introduces a new security linting workflow using zizmor, improves documentation and test coverage for this workflow, and aligns Dependabot cooldown policies with the workspace configuration. It also adds clarifying comments to workflow permissions and enhances consistency across workflow files. The most important changes are grouped below.

Security linting and workflows:

  • Added a new reusable workflow shared-zizmor.yml for blocking security linting of GitHub Actions and Dependabot configuration, using the zizmor action with strict settings. This workflow is now included in both the main workflows directory and the workflow examples. (.github/workflows/shared-zizmor.yml, .github/workflows/zizmor.yml, .github/workflows-examples/shared-zizmor.yml, .github/workflows-examples/zizmor.yml) [1] [2] [3]
  • Updated documentation to describe the new pnpm lint-actions script, its requirements, and how to use the new zizmor workflow. (README.md, .github/workflows-examples/README.md) [1] [2] [3] [4] [5]

Dependabot and release policy alignment:

  • Updated both main and example dependabot.yml files to add cooldown sections for npm and GitHub Actions, matching the pnpm workspace's minimumReleaseAge and exclusion list. (.github/dependabot.yml, .github/workflows-examples/dependabot.yml) [1] [2] [3] [4]

Test coverage and validation:

  • Added comprehensive tests to verify that the zizmor workflow is pinned, configured correctly, and that Dependabot cooldowns and exclusions match the workspace policy. (internal/gha/src/workflows.test.ts) [1] [2] [3]

Workflow clarity and consistency:

  • Improved comments and added clarifying explanations to workflow files, especially around concurrency and permissions, to make intent and security requirements more explicit. (.github/workflows/release.yml, .github/workflows/shared-release.yml, .github/workflows/codeql.yml, .github/workflows/shared-codeql.yml, .github/workflows/scorecard.yml, .github/workflows/shared-scorecard.yml, .github/workflows-examples/release.yml, .github/workflows-examples/codeql.yml, .github/workflows-examples/scorecard.yml) [1] [2] [3] [4] [5] [6] [7] [8] [9]

These changes collectively strengthen CI security, enforce repository policies, and improve maintainability and clarity for contributors.

@zemd zemd self-assigned this Aug 7, 2026
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@zemd, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 47 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 9f7b0c05-6aba-4d1c-9380-8046ba65a9b2

📥 Commits

Reviewing files that changed from the base of the PR and between 578add6 and e7dd8a9.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (5)
  • .github/dependabot.yml
  • .github/workflows-examples/dependabot.yml
  • package.json
  • packages/logtown-hono/package.json
  • pnpm-workspace.yaml
📝 Walkthrough

Walkthrough

The repository adds zizmor workflows and linting, documents workflow permissions, prevents release cancellation, and configures dependency and package release cooldowns. Tests validate workflow delegation, audit settings, cooldown values, exclusions, and release configuration.

Changes

Automation hardening

Layer / File(s) Summary
Zizmor audit workflow
.github/workflows/zizmor.yml, .github/workflows/shared-zizmor.yml, .github/workflows-examples/zizmor.yml, package.json, internal/gha/src/workflows.test.ts, README.md, .github/workflows-examples/README.md
Adds reusable and caller zizmor workflows. Adds the pnpm lint-actions command and validates workflow delegation and audit settings.
Release concurrency and permission documentation
.github/workflows/release.yml, .github/workflows-examples/release.yml, .github/workflows/shared-release.yml, .github/workflows/*codeql.yml, .github/workflows/*scorecard.yml, .github/workflows-examples/*
Prevents active release runs from being cancelled. Documents existing workflow permission purposes.
Dependency and package release cooldowns
.github/dependabot.yml, .github/workflows-examples/dependabot.yml, pnpm-workspace.yaml, internal/gha/src/workflows.test.ts, .gitignore
Adds npm and GitHub Actions Dependabot cooldowns, strict pnpm release age settings, npm exclusions, and pnpm store ignoring. Tests validate the settings.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

  • zemd/js#11: Introduced shared GitHub Actions workflow structure that this PR extends with zizmor auditing and hardening settings.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely identifies the primary change: adding zizmor integration.
Description check ✅ Passed The description directly covers the zizmor workflows, documentation, tests, cooldown policies, and workflow clarifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@socket-security

socket-security Bot commented Aug 8, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedpublint@​0.3.23 ⏵ 0.3.22991008185 -7100
Addedoxfmt@​0.61.0861008896100
Addedoxlint@​1.76.0991009196100
Addedhono@​4.12.33100969796100

View full report

@zemd
zemd merged commit aa6f644 into main Aug 8, 2026
15 checks passed
@zemd
zemd deleted the zemd/add-zizmor branch August 8, 2026 16:00
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