GitHub Actions Directory
Look up any GitHub Action: what it does, its inputs and outputs, a copy-paste usage example, the errors people hit, and how to pin it safely to a commit SHA.
Browse by category
Source & Checkout (2)Check out code and manage repository state inside a workflow.
Language & Toolchain Setup (10)Install and cache language runtimes and build toolchains on the runner.
Caching (2)Cache dependencies and build output between runs to cut CI time.
Artifacts (3)Upload, download, and share files between jobs and after a run.
Docker & Containers (5)Build, tag, and push container images from GitHub Actions.
Cloud Auth & Deploy (7)Authenticate to AWS, GCP, and Azure and deploy from CI, ideally with OIDC.
Infrastructure & Kubernetes (4)Provision infrastructure and deploy to Kubernetes from a workflow.
Testing & Coverage (5)Run tests, report coverage, and gate merges on results.
Code Quality & Linting (4)Lint, format, and statically analyze code as part of CI.
Security & Supply Chain (6)Scan for vulnerabilities and harden the CI supply chain.
Release Automation (5)Cut releases, publish packages, and generate changelogs.
Notifications & ChatOps (2)Post build status and alerts to Slack, Discord, and other channels.
Pull Request Automation (5)Automate labels, reviews, stale triage, and PR creation.
Utilities & Scripting (5)General-purpose helpers and scripting inside workflows.
All actions
actions/cacheCache any files between workflow runs, keyed on a hash of your lockfiles.
actions/checkoutCheck out your repository so a workflow can access its code.
actions/create-github-app-tokenMint a short-lived GitHub App installation token to use instead of a PAT or GITHUB_TOKEN.
actions/dependency-review-actionBlock pull requests that introduce dependencies with known vulnerabilities or bad licenses.
actions/deploy-pagesDeploy a previously uploaded Pages artifact to GitHub Pages.
actions/download-artifactDownload artifacts uploaded earlier in the workflow, or from another run.
actions/github-scriptRun inline JavaScript with a preauthenticated GitHub API client, no separate action needed.
actions/labelerAutomatically label pull requests based on the files they change.
actions/setup-dotnetInstall the .NET SDK and optionally cache NuGet packages.
actions/setup-goInstall a specific Go version with module and build caching enabled by default.
actions/setup-javaInstall a JDK (Temurin, Zulu, Corretto, and more) and cache Maven or Gradle dependencies.
actions/setup-nodeInstall a specific Node.js version and cache your npm, yarn, or pnpm dependencies.
actions/setup-pythonInstall a specific Python version and cache pip, pipenv, or poetry dependencies.
actions/staleAutomatically mark and close stale issues and pull requests.
actions/upload-artifactUpload files from a job so other jobs or a person can download them after the run.
actions/upload-pages-artifactPackage a directory of static assets into the artifact GitHub Pages expects.
amannn/action-semantic-pull-requestValidate that PR titles follow the Conventional Commits spec before they can merge.
aquasecurity/trivy-actionScan container images, filesystems, and IaC for vulnerabilities with Trivy.
astral-sh/ruff-actionLint or format-check Python with Ruff, auto-resolving the version from pyproject.toml.
astral-sh/setup-uvInstall uv (the fast Python package manager) with built-in cache upload and restore.
aws-actions/amazon-ecr-loginLog in to Amazon ECR so a workflow can pull and push container images.
aws-actions/amazon-ecs-deploy-task-definitionRegister an ECS task definition and roll it out to a service.
aws-actions/configure-aws-credentialsAuthenticate to AWS in a workflow, ideally by assuming a role with OIDC (no stored keys).
azure/loginLog in to Azure in a workflow, using OIDC federated credentials or a service principal.
azure/setup-helmInstall a specific version of the Helm CLI on the runner.
azure/setup-kubectlInstall a specific version of kubectl on the runner.
changesets/actionAutomate versioning and npm publishing for repos that use Changesets.
codecov/codecov-actionUpload test coverage reports to Codecov from a workflow.
cypress-io/github-actionRun Cypress end-to-end and component tests with dependency install and caching handled for you.
docker/build-push-actionBuild and push a Docker image using Buildx, with cache and multi-platform support.
docker/login-actionLog in to Docker Hub, GHCR, ECR, or any registry before pushing an image.
docker/metadata-actionGenerate Docker tags and OCI labels automatically from git refs and events.
docker/setup-buildx-actionSet up Docker Buildx so a workflow can do multi-platform builds and layer caching.
docker/setup-qemu-actionInstall QEMU emulators so a workflow can build container images for other CPU architectures.
dorny/paths-filterDetect which parts of a monorepo changed and run only the affected jobs.
dorny/test-reporterTurn test result files (JUnit, TRX, JSON) into a GitHub check run with annotations.
github/codeql-actionRun GitHub CodeQL static analysis to find security vulnerabilities in your code.
gitleaks/gitleaks-actionScan commits and pull requests for hardcoded secrets with Gitleaks.
golangci/golangci-lint-actionRun golangci-lint with line-attached annotations, caching, and only-new-issues PR mode.
google-github-actions/authAuthenticate to Google Cloud, ideally via keyless Workload Identity Federation.
google-github-actions/setup-gcloudInstall and configure the gcloud CLI on the runner.
googleapis/release-please-actionAutomate versioning and releases from conventional commits via a maintained release PR.
goreleaser/goreleaser-actionRun GoReleaser in CI to build, package, and publish Go project releases from a tag.
gradle/actions/setup-gradleConfigure Gradle for GitHub Actions with dependency caching, wrapper validation, and build scans.
hashicorp/setup-terraformInstall the Terraform CLI and (optionally) wrap it to expose plan output in later steps.
hashicorp/vault-actionPull HashiCorp Vault secrets into a workflow, ideally via keyless JWT/OIDC auth.
mikepenz/action-junit-reportPublish JUnit XML results as a check run with PR annotations and a job summary.
nick-fields/retryRetry a flaky command with a timeout, instead of re-running the whole job.
ossf/scorecard-actionRun OpenSSF Scorecard supply-chain checks on your repo and surface results in code scanning.
oven-sh/setup-bunDownload, install, and add Bun to the PATH so later steps can run bun commands.
peter-evans/create-or-update-commentCreate a new comment, or append to / replace an existing one, on an issue or pull request.
peter-evans/create-pull-requestCommit changes made during a workflow and open (or update) a pull request with them.
pnpm/action-setupInstall the pnpm package manager, so setup-node can cache the pnpm store.
pre-commit/actionRun your repo's pre-commit hooks in CI, with the hook environments cached.
pulumi/actionsRun Pulumi CLI commands (preview, up, destroy) against a stack from a workflow.
rtCamp/action-slack-notifySend a Slack channel notification from a workflow via an incoming webhook.
ruby/setup-rubyInstall Ruby and, with one input, install and cache your gems via Bundler.
slackapi/slack-github-actionSend a message to Slack from a workflow, via a bot token or an incoming webhook.
softprops/action-gh-releaseCreate a GitHub Release and upload assets when you push a tag.
stefanzweifel/git-auto-commit-actionDetect files changed during a workflow run, commit them, and push back to the repository.
step-security/harden-runnerMonitor and restrict a runner's network egress to detect and block CI supply-chain attacks.
super-linter/super-linterOne Docker action that runs a whole collection of linters across every language in the repo.
Swatinem/rust-cacheSmart caching for cargo builds with sensible defaults, one step, no key wrangling.
tj-actions/changed-filesList the files changed in a push or pull request so later steps can run conditionally.
webfactory/ssh-agentStart ssh-agent and load a private key so a workflow can access other private repositories.