GitHub Actions
Create tasks to automate your workflow and share them with others on GitHub.
Contents
- GitHub Tools and Management
- Collection of Actions
- Utility
- Environments
- Dependencies
- Semantic Versioning
- Static Analysis
- Testing
- Linting
- Security
- Code Coverage
- Dynamic Analysis
- Monitoring
- Pull Requests
- GitHub Pages
- Notifications and Messages
- Deployment
- Docker
- Kubernetes
- AWS
- Terraform
- External Services
- Frontend Tools
- Machine Learning Ops
- Build
- Database
- Networking
- Localization
- Fun
Official Resources
Official Actions
Workflow Examples
Workflow Tool Actions
Setup your repository on your workflow.
Upload artifacts from your workflow.
Download artifacts from your build.
Cache dependencies and build outputs in GitHub Actions.
Write a script for GitHub API and the workflow contexts.
Actions for GitHub Automation
An Action to create releases via the GitHub Release API.
An Action to upload a release asset via the GitHub Release API.
An action for filtering pull requests and issues from first-time contributors.
Marks issues and pull requests that have not had recent interaction.
An action for automatically labelling pull requests.
Delete versions of a package from GitHub Packages.
Setup Actions
Set up your GitHub Actions workflow with a specific version of your programming languages.
Set up your GitHub Actions workflow with a specific version of your programming languages.
Set up your GitHub Actions workflow with a specific version of your programming languages.
Set up your GitHub Actions workflow with a specific version of your programming languages.
Set up your GitHub Actions workflow with a specific version of your programming languages.
Set up your GitHub Actions workflow with a specific version of your programming languages.
Set up your GitHub Actions workflow with a specific version of your programming languages.
Set up your GitHub Actions workflow with a specific version of your programming languages.
Set up your GitHub Actions workflow with a specific version of your programming languages.
JavaScript and TypeScript Actions
The GitHub ToolKit for developing GitHub Actions.
A template to demonstrate how to build a JavaScript action.
Create a JavaScript Action.
Create a TypeScript Action.
A lightweight HTTP client optimized for use with actions, TypeScript with generics and async await.
Community Resources
GitHub Tools and Management
Automate GitHub Project cards with any webhook event.
Automation of policy enforcement, chat-ops, and automatic PR merging.
Ensures the correctness of your GitHub CODEOWNERS file. It supports public and private GitHub repositories and also GitHub Enterprise installations.
Move and transform code between repositories (ideal to maintain several repos from one monorepo).
Collection of Actions
GitHub Actions for WordPress
Utility
Run ssh-agent with additional SSH keys to access private repositories.
Debug the Action directly by providing a SSH connection.
Diffs the built Jekyll site after a change, and comments the result back to GitHub.
Temporarily disable and re-enable "Include administrators" option in branch protection.
Wait until all statuses and checks are successful or any of them has failed and set its status output accordingly.
Get the previous tag from git.
Create a new open milestone given the title and description.
Close the given milestone.
Read values from .properties files.
Write values to .properties files.
Automatically generate a new tag when the manifest file (i.e. package.json) version changes.
Use the Jinja2 template engine to generate files from templates.
Check if there are code changes from previous steps.
Detect offensive comments in issues and pull requests, and warn senders.
Converts YAML/JSON/XML file formats interchangeably.
Detect NSFW content in committed files.
Conditionally run actions based on changed paths.
Checks a repository and produces information about used languages in output.
Make Twilio voice call with defined text.
Switch between pre-installed versions of Xcode for macOS images.
Switch between pre-installed versions of Xamarin and Mono for macOS images.
A GitHub Action for Programmer Memes xD.
Setup specific version of Cocoapods.
Queries GitHub actions runner's public IP address.
Sends a document by fax using your Twilio account.
Install Kubernetes tools (kubectl, kustomize, helm, kubeval, conftest, and yq) on the runner.
Install a specific version of ecctl on the runner.
Run PowerShell scripts with workflow contexts (e.g. $github.token) and cmdlets, return value => action output.
The Ultimate Packer for eXecutables.
Ensures the latest version of your Go module is in the proxy cache. Also updates the pkg.go.dev documentation upon release.
Expose environment variables such as the branch/tag name, repository slug, and ref slug.
Guarantee atomic execution of your GitHub Action workflows.
Conditionally run actions based on files modified by PR, feature branch or pushed commits.
Pulls all the JavaScript and CSS files from your base branch, minify them and creates a pull-request with a new branch.
Turn any webpage into a GIF to display on your README, docs, etc.
Add dynamic inputs at runtime for your GitHub Actions workflows
Environments
Dependencies
Semantic Versioning
Output the next version for major, minor, and patch version based on the given semver version.
Cuts a release branch given a branch prefix and optional semantic version.
Bump a given semantic version (SemVer), depending on given release type.
Static Analysis
Testing
Linting
Security
Define AWS Secrets Manager secrets to environment values.
Not an action per se, but a tool to manage Actions Secrets across a list of repositories.
Action syncs secrets across multiple repositories.
Have a single source of truth for your secrets and load them into GitHub Actions on demand.
Code Coverage
Dynamic Analysis
Monitoring
Comments cost comparison of your JS in PRs and rejects them if limit is exceeded.
Comments new and modified package size according to bundlephobia.io website and rejects PR on threshold surpassed.
Pull Requests
Automatically add a ticket or issue number to the start of all Pull Request titles.
Print relevant stats about reviewers.
Enforces description on pull requests.
GitHub Pages
And other schema.org extractors to make datasets discoverable from GitHub pages.
Deploy to custom directory and ignore folder/file.
Notifications and Messages
Deployment
Docker
Kubernetes
AWS
Terraform
External Services
Frontend Tools
Run Grunt or Gulp build tasks and commit file changes.
Generate customisable open graph images from Markdown files.
Setup Mint (programming language for writing single page applications).
Deploy Gatsby to S3 (supports CloudFront).
Machine Learning Ops
Build
Multi platform action to build C/C++ software with CMake and Ninja.
Multi platform action to build and install C/C++ dependencies with vcpkg.
Setup brainfuck interpreter.
Keep your Gradle version up to date.
Localization
Tutorials
Setup Auto-scaled self-hosted GitHub Actions Runners on AWS Spot-instances
Setup Auto-scaled self-hosted GitHub Actions Runners on AWS Spot-instances
Deploy self-hosted GitHub Actions runners with Docker and Docker Swarm to DigitalOcean.