caarlos0/pinata

GitHub Actions Pinner

Go

63

67 commits

updated Sep 2, 2026

See the code

README

piñata

Make your GitHub Actions usage more secure by pinning them to their SHA's.

CleanShot 2025-09-24 at 01 45 46@2x

Install

# Homebrew:
brew install caarlos0/tap/pinata

# Go:
go install github.com/caarlos0/pinata@latest

Or download from the releases page.

Usage

$ pinata [dir] # Defaults to .github/workflows
$ pinata ./myrepo/.github/workflows

Ignoring actions

Use --ignore to leave some actions unpinned. It takes a glob, and may be set multiple times:

$ pinata --ignore 'actions/*' --ignore 'github/*'
$ pinata --ignore 'actions/checkout'

Globs are matched against the action name (e.g. actions/checkout), as well as against the owner/repo of actions living in a subdirectory, so github/* also ignores github/codeql-action/analyze.

Contributors

caarlos0

38 commits

dependabot[bot]

29 commits

caarlos0/pinata

GitHub Actions Pinner

Go

63

67 commits

updated Sep 2, 2026

See the code

README

piñata

Make your GitHub Actions usage more secure by pinning them to their SHA's.

CleanShot 2025-09-24 at 01 45 46@2x

Install

# Homebrew:
brew install caarlos0/tap/pinata

# Go:
go install github.com/caarlos0/pinata@latest

Or download from the releases page.

Usage

$ pinata [dir] # Defaults to .github/workflows
$ pinata ./myrepo/.github/workflows

Ignoring actions

Use --ignore to leave some actions unpinned. It takes a glob, and may be set multiple times:

$ pinata --ignore 'actions/*' --ignore 'github/*'
$ pinata --ignore 'actions/checkout'

Globs are matched against the action name (e.g. actions/checkout), as well as against the owner/repo of actions living in a subdirectory, so github/* also ignores github/codeql-action/analyze.

Contributors

caarlos0

38 commits

dependabot[bot]

29 commits

Languages

Go

100.0%