pinact
brew install pinact
v4.1.0
MIT
Pins GitHub Actions to full hashes and versions
580
30-day installs · #1651
1.5k
90-day · #1811
3.6k
365-day · #2267
1.1k
★ GitHub stars · updated 2mo ago
Build dependencies
GitHub topics
cli
github-actions
oss
security
Links
- https://github.com/suzuki-shunsuke/pinact
- GitHub: suzuki-shunsuke/pinact
- Brew formula source: Formula/p/pinact.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [
"go"
],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Pins GitHub Actions to full hashes and versions",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:41:35+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "pinact",
"github_default_branch": "main",
"github_last_commit_at": "2026-06-17T18:02:32Z",
"github_readme_excerpt": "# pinact\n\n[](https://deepwiki.com/suzuki-shunsuke/pinact)\n[Install](INSTALL.md) | [How to use](#how-to-use) | [Configuration](#configuration)\n\npinact is a CLI to pin GitHub Actions and Reusable Workflows.\npinact can also [update their versions](#update-actions--update) and [verify version comments](docs/codes/001.md).\n\n```diff\n$ pinact run\n.github/workflows/test.yaml:8\n- - uses: actions/checkout@83b7061638ee4956cf7545a6f7efe594e5ad0247 # v3\n+ - uses: actions/checkout@83b7061638ee4956cf7545a6f7efe594e5ad0247 # v3.5.1\n.github/workflows/test.yaml:9\n- - uses: actions/setup-go@v4\n+ - uses: actions/setup-go@7b8cf10d4e4a01d4992d18a89f4d7dc5a3e6d6f4 # v4.3.0\n.github/workflows/test.yaml:10\n- - uses: actions/cache@v3.3.1\n+ - uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1\n.github/workflows/test.yaml:16\n- uses: suzuki-shunsuke/actionlint-workflow/.github/workflows/actionlint.yaml@v0.5.0\n+ uses: suzuki-shunsuke/actionlint-workflow/.github/workflows/actionlint.yaml@b6a5f966d4504893b2aeb60cf2b0de8946e48504 # v0.5.0\n```\n\n## Features\n\n1. Pin GitHub Actions and Reusable Workflows\n1. [Check if actions are pinned without editing files](#just-validation--check--fixfalse)\n1. [Offline check without GitHub API](#offline-check--no-api)\n1. [Update actions](#update-actions--update) with a [minimum release age](#minimum-release-age-cooldown--min-age--verify-min-age)\n1. [Verify version comments](docs/codes/001.md) ([`-verify-comment`](#verify-version-comments--verify-comment--verify--v))\n1. [Require a version comment on SHA-pinned actions](docs/codes/005.md)\n1. [Verify if actions meet the minimum release age](#minimum-release-age-cooldown--min-age)\n1. [Pin branches](#pin-branches--branch-to-tag)\n1. [Include and exclude specific actions](#include-and-exclude-specific-actions)\n1. [Generate SARIF](#sarif). This is useful to create reviews using [reviewdog](#reviewdog)\n1. [Read GitHub a",
"github_repo": "suzuki-shunsuke/pinact",
"github_stars": 1097,
"github_topics": [
"cli",
"github-actions",
"oss",
"security"
],
"homepage": "https://github.com/suzuki-shunsuke/pinact",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 580,
"installs_365d": 3555,
"installs_90d": 1516,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "MIT",
"llm_generated_at": null,
"llm_model": null,
"name": "pinact",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 1651,
"rank_365d": 2267,
"rank_90d": 1811,
"raw_hash": "3a1c297b8c13e733",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/p/pinact.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": "HEAD",
"version_stable": "4.1.0",
"versioned_formulae": [],
"why_use_this": null
}