Awesome
Actions

A curated list of awesome things related to GitHub Actions.
Actions are triggered by GitHub platform events directly in a repo
and run on-demand workflows either on Linux, Windows or macOS virtual
machines or inside a container in response. With GitHub Actions you can
automate your workflow from idea to production.
Contents
Official Resources
Workflow Examples
Official Actions
Tool actions for your workflow.
Actions for GitHub
Automation
Automate management for issues, pull requests, and releases.
Setup Actions
Set up your GitHub Actions workflow with a specific version of your
programming languages.
Create your Actions
JavaScript and TypeScript
Actions
Docker Container Actions
Collection of Actions
Utility
- Setup
ssh-agent - Run ssh-agent with additional
SSH keys to access private repositories.
- GitHub
Actions Badges for your README
- GitHub Actions
for Python project with poetry
- GitHub
Actions for Python project with pyenv
- GitHub Actions to
compile LaTeX documents
- Update Maxmind
Databases
- Debug with SSH
over tmate - Debug the Action directly by providing a SSH
connection.
- Unlock
git-crypt files
- Golang CGO cross
compiler
- Run your job
on another architecture: arm32, aarch64 and others
- Generate a
table of contents
- Automatically
add Label or Assignee to an Issue
- Action to
send LGTM reaction as image or GIF when we say lgtm
- Generate
build numbers across multiple scopes
- Publish
GitHub release artifacts
- Jekyll
Diff Action - Diffs the built Jekyll site after a change, and
comments the result back to GitHub.
- Branch
Protection Bot - Temporarily disable and re-enable “Include
administrators” option in branch protection.
- Wait
for commit statuses - Wait until all statuses and checks are
successful or any of them has failed and set its status output
accordingly.
- Get
Latest Tag - Get the previous tag from git.
- Create
Milestone - Create a new open milestone given the title and
description.
- Close
Milestone - Close the given milestone.
- Action to
enforce branch naming rules
- Expose
slug of some GitHub variables
- awesome-lint as a
GitHub Action
- Edit
JSON File
- Build
Slate documentation
- Read
Properties - Read values from
.properties files.
- Write
Properties - Write values to
.properties files.
- Autotag
- Automatically generate a new tag when the manifest file
(i.e.
package.json) version changes.
- Apply templates
with Jinja2 - Use the Jinja2 template engine to generate files from
templates.
- Has
Changes - Check if there are code changes from previous steps.
- Mind
Your Language Action - Detect offensive comments in issues and pull
requests, and warn senders.
- YAML/JSON/XML
Converter - Converts YAML/JSON/XML file formats
interchangeably.
- NSFW
Detection - Detect NSFW content in committed files.
- Has
Changed Path - Conditionally run actions based on changed
paths.
- Linguist -
Checks a repository and produces information about used languages in
output.
- Twilio
Voice Call - Make Twilio voice call with defined text.
- Setup
Xcode - Switch between pre-installed versions of Xcode for macOS
images.
- Setup
Xamarin - Switch between pre-installed versions of Xamarin and Mono
for macOS images.
- Memer Action
- A GitHub Action for Programmer Memes xD.
- Setup
Cocoapods - Setup specific version of Cocoapods.
- Public IP -
Queries GitHub actions runner’s public IP address.
- GitHub Actions
for Lazarus/FPC
- Twilio
Fax - Sends a document by fax using your Twilio account.
- Setup
Kubernetes tools - Install Kubernetes tools (kubectl, kustomize,
helm, kubeval, conftest, and yq) on the runner.
- Setup
Elastic Cloud Control Tool - Install a specific version of ecctl on
the runner.
- PowerShell
Script - Run PowerShell scripts with workflow contexts
(e.g.
$github.token) and cmdlets, return value => action
output.
- Upload
and Scan Files with VirusTotal
- Import a
GPG Key
- Compress with
UPX - The Ultimate Packer for eXecutables.
- Pull
the New Go Module Version Into the Proxy Cache - Ensures the latest
version of your Go module is in the proxy cache. Also updates the
pkg.go.dev documentation upon release.
- Delete
Run Artifacts - Deletes all artifacts at the end of a workflow
run.
- GitHub
Environment Variables Action - Expose environment variables such as
the branch/tag name, repository slug, and ref slug.
- GitHub
Action Locks - Guarantee atomic execution of your GitHub Action
workflows.
- Paths Filter -
Conditionally run actions based on files modified by PR, feature branch
or pushed commits.
- Minisauras -
Pulls all the JavaScript and CSS files from your base branch, minify
them and creates a pull-request with a new branch.
Environments
Dependencies
Semantic Versioning
Static Analysis
Testing
Linting
- PHP Coding
Standards Fixer Action
- Runs
Hadolint against a Dockerfile within a repository
- Run ESLint,
with reviewdog output on the PR
- JavaScript-based
linter for *.workflow files
- Lint terraform
files using tflint, with reviewdog output on the PR
- autopep8:
Automatically formats Python code to conform to the PEP 8 style
guide
- Run
ergebnis/composer-normalize to ensure your PHP project has
a normalized composer.json
- Run Go
lint checks on PR event
- Node.js
- Automatically run the
format and/or lint
script used by the package
- Stylelinter - GitHub
Action that runs stylelint
- Run
stylelint, with reviewdog output on the PR
- PyCodeStyle
Action - A GitHub Action that leaves a comment on your PR with
pycodestyle (autopep8) feedback
- wemake-python-styleguide
- The strictest and most opinionated python linter ever, with optional
reviewdog output on the PR
- Run TSLint with
status checks and file diff annotations
- Lint
Pull Request commits with commitlint
- Run vint, with
reviewdog output on the PR
- Run mispell,
with reviewdog output on the PR
- Run
golangci-lint, with reviewdog output on the PR
- Run
shellcheck, with reviewdog output on the PR
- Catch
insensitive, inconsiderate writing in your markdown docs
- Run
dotenv-linter - Lints your .env files like a charm, with optional
reviewdog output on the PR
- Run
dotenv-linter, with reviewdog output on the PR
- Show and
auto-fix linting errors for many programming languages
- PHP_CodeSniffer
With Annotations
- Linter for
markdown (with presets)
- Stylelint
problem matcher to create annotations
- Run sqlcheck
on the PR to identifies anti-patterns in SQL queries
- Validate
Fastlane Supply Metadata Against the Play Store Guidelines
- Run Golint to
lint your Golang code
Security
Code Coverage
Dynamic Analysis
Monitoring
Pull Requests
GitHub Pages
Notifications and Messages
Deployment
Docker
Kubernetes
AWS
External Services
Machine Learning Ops
Build
Database
Localization
Fun
Cheat Sheet
Tutorials
Please don’t hesitate to make a PR if you have more resources to
share. Check out contributing.md for more
information.