Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-workflows
👨🏻💻A list of awesome GitHub actions to automate your workflows. 🔨✨
https://github.com/mohammadzainabbas/awesome-workflows
Last synced: 1 day ago
JSON representation
-
Community Resources
-
Deployment
- Deploy to Netlify
- Deploy a Probot App using Actions
- Update a repository's "Full description" on Docker Hub
- Update a Container Repository Description From README.md - Supported Registries: Docker Hub, Quay, Harbor.
- An example of using Terraform to validate and apply GitHub administration
- Deploy to Netlify
- Deploy a playlist to Spotify
- Deploy VS Code extensions with vsce
- Purge Cloudflare cache after updating a website
- Deploy your DNS configuration using DNS Control
- Deploy a Theme to Shopify
- Trigger multiple GitLab CI Pipeline
- Trigger multiple Jenkins Jobs
- GitHub Action for Homebrew Tap
- Copy files and artifacts via SSH
- Executing remote ssh commands
- Publish a Python distribution package to PyPI
- Deploy Static Website to Azure Storage
- Cross platform Chocolatey CLI to build and publish packages
- Deploy iOS Pod Library to Cocoapods
- GitHub Action for TencentCloud Serverless
- Publish npm (pre)releases
- Deploy a static site to Surge.sh
- GitHub Action for GoReleaser, a release automation tool for Go projects
- FTP Deploy Action, Deploys a GitHub project to a FTP server using GitHub actions
- Publish Article to Dev.to
- Action For Semantic Release
- Deploy a Collection to Ansible Galaxy
- Publish module to Puppet Forge
- Build and publish Electron apps
- Publish a Maven package
- Build and deploy a theme to Ghost CMS
- Deploy an Ansible role to Ansible Galaxy
- Publish one or more JS modules to a registry
- Publish a package with 2FA using Slack
- Serialize Workflow Runs in Continuous Deployment Pipelines
- Netlify Deploy GitHub Action for each commit
- Run Ansible Playbooks
- Publish a Python Distribution Package to Anaconda Cloud
- Deploy VS Code Extension to Visual Studio Marketplace or the Open VSX Registry
- Deploy a YouTube Video to Anchor.fm Podcast
- Update a Docker Hub repository description from README.md
- Publish Docker Images to the GitHub Package Registry (GPR)
- Build and publish docker images to any registry using Kaniko
- Monitor and limit your docker image size
- Publish Docker Images to the Amazon Elastic Container Registry (ECR)
- Build And Push Your Docker Images Caching Each Stage To Reduce Build Time
- Set up Docker Buildx
- Convert Branch or Tag Name Into Docker-Compatible Image Tag
- Deploy to any Cloud or Kubernetes Using Pulumi
- Deploy to Kubernetes with kubectl
- Get Kubeconfig File From Google Kubernetes Engine (GKE)
- Kustomize Kubernetes Config YAMLs
- Create a Kubernetes Cluster for Testing Using Krucible
- Sync/upload a directory to an AWS S3 bucket
- Deploy Lambda code to an existing function
- Generate terraform documentation - Uses terraform-docs to generate docs for terraform modules.
-
Collection of Actions
- GitHub Actions for R and accompanying #rstats package
- GitHub Actions for Rust
- GitHub Actions for Logtalk and Prolog
- GitHub Actions for Unity
- Actions Hub
- GitHub Actions for R and accompanying #rstats package
- Use HashiCorp's Terraform
- GitHub Actions for Yarn 1
- GitHub Actions for Yarn 2
- GitHub Actions for Golang
- GitHub Actions for Composer
- GitHub Actions for Flutter
- GitHub Actions for PHP
- GitHub Actions for Android
- GitHub Actions for Deno
- Octions - GitHub Actions for GitHub REST API
- GitHub Actions for Docker
- GitHub Actions for AWS
- GitHub Actions for WordPress
- GitHub Actions for Unity
-
Utility
- Expose slug of some GitHub variables
- Delete Run Artifacts - Deletes all artifacts at the end of a workflow run.
- GitHub Action Locks - Guarantee atomic execution of your GitHub Action workflows.
- 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
- 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
- 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.
- 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
- 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.
- GitHub Environment Variables Action - Expose environment variables such as the branch/tag name, repository slug, and ref slug.
- 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.
- Create an envfile
- Export global environment variables for succeeding build steps
- Programmatically set environment variables for use in subsequent steps
- Install Conda environments for Python
- Setup NativeScript
- Create a JSON Environment File
- Install NPM Dependencies with Caching
- Highlight New NPM Dependencies - Comments on pull requests newly added NPM dependencies information.
- Cache NPM Dependencies
- Cache Yarn Dependencies
- Next SemVers - Output the next version for major, minor, and patch version based on the given semver version.
- Get latest SemVer and branch name given a search string
- Cut Release Branch - Cuts a release branch given a branch prefix and optional semantic version.
- Increment Semantic Version - Bump a given semantic version (SemVer), depending on given release type.
- Update Maxmind Databases
- Twilio Voice Call - Make Twilio voice call with defined text.
- Twilio Fax - Sends a document by fax using your Twilio account.
-
Static Analysis
- Run Unity tests
- PHPStan Static code analyzer Action
- GraphQL Inspector Action
- PowerShell static analysis with PSScriptAnalyzer
- Run tfsec, with reviewdog output on the PR
- xUnit Slack Reporter: Sends summary of tests from xUnit reports to a Slack channel
- Run codeception tests
- Run TestCafe tests
- Run Cypress E2E tests
- Test Ansible roles with Molecule
- Run performance testing with artillery.io
- Display Inline Code Annotations for Jest Tests
- 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
- 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
- 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
- A vulnerability scanner for your docker images
- Automatically approve and merge Dependabot updates
- Run dlint security linter on your Python code
- AWS Secrets Manager Actions - Define AWS Secrets Manager secrets to environment values.
- Linting your AWS IAM policy documents for correctness and security issues
- Secret Spreader - Not an action per se, but a tool to manage Actions Secrets across a list of repositories.
- Snyk Test Action
- Manage Your GitHub Actions Secrets With A Simple CLI
- SecretHub - Have a single source of truth for your secrets and load them into GitHub Actions on demand.
- Scan code with SonarCloud
- Send your code coverage to codecov.io
- Publishing code coverage to CodeClimate
- Update repository go report card
- Run Tests through Puppeteer, the Headless Chrome Node API
- Run Unity tests
- Detect Flaky Tests with BuildPulse
- Stylelinter - GitHub Action that runs stylelint
- Run dotenv-linter, with reviewdog output on the PR
- Show and auto-fix linting errors for many programming languages
-
Pull Requests
- Automatically Rebase a PR
- Create a PR for Changes to your Repository in the Actions Workspace
- Pull Request Description Enforcer - Enforces description on pull requests.
- Set PR Reviewers Based on Assignees
- Open or Update PR on Branch Push (with Branch Selection)
- Automatically Rebase a PR
- Add Labels to a PR based on Matched File Patterns
- Auto-Approve PRs
- Automatically add Reviewers to PR based on the Configuration File
- Add Labels to a PR based on Branch Name Patterns
- Add Labels to a PR based on Total Size of the Diff
- Automatically merge PRs That Are Ready
- Verify That PRs Contain a Ticket Reference
- Create a PR for Changes to your Repository in the Actions Workspace
- Lint a PR
- ChatOps for PRs
- Prefix Title and Body of a PR Based on Text Extracted from Branch Name
- Block Autosquash Commits
- Automatically Bump and Tag on Merge
- Automatically Update PRs with Outdated Checks and Squash and Merge the Ones Matching All Branch Protections
- Merge Pal - Automatically Update and Merge PRs
- Enforce naming convention on pull request title
- Pull Request Stuck Notifier
- Lint pull request name with commitlint (Awesome if you squash merge !)
- Block PR merges when Checks for target branches are failing
- Get generated static site screenshots updated by Pull Request
- Add Labels Depending if the Pull Request Still in Progress
- Ticket Check Action - Automatically add a ticket or issue number to the start of all Pull Request titles.
- Pull Request Lint With Regex
- Pull Request Landmines
- Annotate a GitHub Pull Request Based on a Checkstyle XML-Report
- Pull Request Stats - Print relevant stats about reviewers.
-
GitHub Tools and Management
- Declaratively setup GitHub Labels
- Action to sync GitHub labels in the declarative way
- Add releases to GitHub
- Publish a docker image to Dockerhub
- Create an issue using content from a file
- Publish GitHub Releases with Assets
- GitHub Project Automation+ - Automate GitHub Project cards with any webhook event.
- Run GitHub Actions Locally with a web interface
- Run GitHub Actions Locally in Terminal
- Build and Publish Android debug APK
- Generate sequential build numbers for GitHub Actions
- Push Git changes to GitHub repository without authentication difficulties
- Generate release notes based on your events
- Create a GitHub wiki page based on the provided markdown file
- Label your Pull Requests auto-magically (using committed files)
- Add Label to your Pull Requests based on the author team name
- Get a list of file changes with PR/Push
- Label Your Issues Using the Issue's Contents
- Rollback a GitHub Release
- Lock Closed Issues and Pull Requests after a Period of Inactivity
- Get Commit Difference Count Between Two Branches
- Generate Release Notes Based on Git References
- Auto Label Issue Based on Issue Description
- Update Configured GitHub Actions to the Latest Versions
- Create Issue Branch
- Remove Old Artifacts
- Expose Git Commit Data As Environment Variables
- Sync Defined Files/Binaries to Wiki or External Repositories
- Create/Update/Delete a GitHub Wiki Page Based on Any File
- Prow GitHub Actions - Automation of policy enforcement, chat-ops, and automatic PR merging.
- Check GitHub Status in your Workflow
- Manage Labels on GitHub (create/rename/update/delete) as Code
- Continuous Distribution of Funding to your Project Contributors and Dependencies
- Herald Rules for GitHub: Add Subscribers, Assignees, Labels, and More to Your PR
- GitHub Codeowners Validator - Ensures the correctness of your GitHub CODEOWNERS file. It supports public and private GitHub repositories and also GitHub Enterprise installations.
- Copybara Action - Move and transform code between repositories (ideal to maintain several repos from one monorepo).
- Use private actions in any workflow
- Enforce Policies on GitHub Repositories and Commits
-
Dynamic Analysis
-
Monitoring
- Audit a webpage with Google Chrome's Lighthouse tests
- Runs Lighthouse and posts results to PRs and Slack
- Run Lighthouse in CI using GitHub Actions
- Continuous Benchmarking and Benchmark Visualization for Go
- Size Limit Action - Comments cost comparison of your JS in PRs and rejects them if limit is exceeded.
- Check bundlephobia - Comments new and modified package size according to bundlephobia.io website and rejects PR on threshold surpassed.
-
GitHub Pages
- Deploy a Zola site to GitHub Pages
- Build Hugo static content site and publish it to gh-pages branch
- Google Dataset Search Metadata - And other schema.org extractors to make datasets discoverable from GitHub pages.
- GitHub Actions for deploying to GitHub Pages with Static Site Generators
- GitHub Action for Hexo
- Deploy Google Analytics stats to GitHub Pages
- A Jupyter Notebook Blogging Platform Powered by GitHub Actions, Pages and Jekyll
- Deploy A Static Site to GitHub Pages - Deploy to custom directory and ignore folder/file.
- Deploy to GitHub Pages with Advanced Settings
- Build a Jekyll site—with Custom Jekyll Plugins & Build Scripts—and deploy it back to the Gh-Pages Branch
-
Notifications and Messages
- Send a Discord notification
- Post a Slack message as a bot
- Send an SMS from GitHub Actions using Nexmo
- Send an SMS from GitHub Actions using Clockworksms
- Send a Telegram Message
- Send a File or Text Message to Discord (custom define color, username or avatar)
- Collaborate on tweets using pull requests
- Send a Push Notification via Push by Techulus
- Send email with SendGrid
- Send a Push Notification via Join
- New package version checker for npm
- New package version checker for NuGet
- New package version checker for Gradle
- Send a Push Notification via Pushbullet
- Create an Outlook Calendar Event using Microsoft Graph
- Watch for GitHub Wiki page changes and post to Slack
- Send an SMS using MessageBird
- Reply to Stale Bots
- Send an Embed Message to Discord
- Keep Your PRs in Sync With Teamwork Tasks
- Send Microsoft Teams Notification
-
External Services
- Use a Jenkinsfile
- GitHub Action for Firebase
- GitHub Action for Contentful Migration CLI
- GitHub Actions for Pixela (a-know/pi)
- Upload files to any OpenStack Swift service provider
- Generate Custom Response using JSONbin
- GitHub Action for Google Cloud Platform (GCP)
- GitHub Action for sending Stack Overflow posts to Slack
- Assume AWS role
-
Frontend Tools
- JS Build Actions - Run Grunt or Gulp build tasks and commit file changes.
- GitHub Action for Gatsby CLI
- Runs a WebPageTest audit and prints the results as commit comment
- GitHub Actions for Hugo extended
- GitHub Actions for mdBook
- Setup Mint - Setup Mint (programming language for writing single page applications).
- Gatsby AWS S3 Deployment - Deploy Gatsby to S3 (supports CloudFront).
- Execute Gradle task
- Generate OG Image - Generate customisable open graph images from Markdown files.
-
Machine Learning Ops
- Submitting Argo Workflows (Cloud Agnostic)
- Submitting Argo Workflows to GKE
- Query Experiment Tracking Results From Weights & Biases
- Run Parameterized Jupyter Notebooks
- Compile, Deploy and Run Kubeflow Pipeline
- Automatically Dockerize A Data-Science Repo As A Jupyter Server
- Azure Machine Learning With GitHub Actions
-
Build
- run-cmake - Multi platform action to build C/C++ software with [CMake](https://cmake.org) and [Ninja](https://ninja-build.org/).
- run-vcpkg - Multi platform action to build and install C/C++ dependencies with [vcpkg](https://github.com/microsoft/vcpkg).
- Build Go applications for multiplatform
- Generate ~/.m2/settings.xml for Maven builds
- Run Pascal Script
- Setup Brainfuck - Setup brainfuck interpreter.
- Publish Go Binaries to GitHub Release Assets
- Setup COBOL
-
Database
- Setup Cassandra Schema - Running scripts from the provided folder on top of Cassandra cluster.
-
Localization
- Find and automatically fix typos and grammar issues in your code
- Translation - Translate text from any language to any language.
-
Cheat Sheet
-
-
Official Resources
-
- Official Documentation
- Official Actions organization
- actions/virtual-environments - GitHub Actions virtual environments.
- GitHub Blog Announcement
- actions/runner - The Runner for GitHub Actions.
- actions/virtual-environments - GitHub Actions virtual environments.
- Official Site
-
Workflow Examples
- actions/starter-workflows - Starter workflow management.
- actions/starter-workflows - Starter workflow management.
- actions/starter-workflows - Starter workflow management.
- actions/example-services - Example workflows using service containers.
-
Official Actions
- actions/download-artifact - Download artifacts from your build.
- actions/cache - Cache dependencies and build outputs in GitHub Actions.
- actions/labeler - An action for automatically labelling pull requests.
- actions/checkout - Setup your repository on your workflow.
- actions/upload-artifact - Upload artifacts from your workflow.
- actions/download-artifact - Download artifacts from your build.
- actions/cache - Cache dependencies and build outputs in GitHub Actions.
- actions/github-script - Write a script for GitHub API and the workflow contexts.
- actions/create-release - An Action to create releases via the GitHub Release API.
- actions/upload-release-asset - An Action to upload a release asset via the GitHub Release API.
- actions/first-interaction - An action for filtering pull requests and issues from first-time contributors.
- actions/stale - Marks issues and pull requests that have not had recent interaction.
- actions/labeler - An action for automatically labelling pull requests.
- actions/delete-package-versions - Delete versions of a package from GitHub Packages.
- actions/setup-node: Node.js
- actions/setup-python: Python
- actions/setup-go: Go
- actions/setup-dotnet: .NET core sdk
- actions/setup-haskell: Haskell (GHC and Cabal)
- actions/setup-java: Java
- actions/setup-ruby: Ruby
- actions/setup-elixir: Elixir
-
Create your Actions
- actions/toolkit - The GitHub ToolKit for developing GitHub Actions.
- actions/typescript-action - Create a TypeScript Action.
- actions/toolkit - The GitHub ToolKit for developing GitHub Actions.
- actions/hello-world-javascript-action - A template to demonstrate how to build a JavaScript action.
- actions/javascript-action - Create a JavaScript Action.
- actions/typescript-action - Create a TypeScript Action.
- actions/http-client - A lightweight HTTP client optimized for use with actions, TypeScript with generics and async await.
- actions/hello-world-docker-action - A template to demonstrate how to build a Docker action.
- actions/container-toolkit-action - Template repo for creating container actions using actions/toolkit.
-
-
Tutorials
-
Cheat Sheet
- Continuous deployment of Next.js app with Up
- Converting Docker-based Actions to JavaScript/TypeScript
- GitHub Actions CI for Swift/iOS Projects
- Working with GitHub Actions
- GitHub Actions for Rails Developers
- GitHub Actions Advent Calendar
- Zero Downtime Laravel Deployments with GitHub Actions
- Building Custom GitHub Actions Pluralsight Course
- Continuously Deploying Django to DigitalOcean with Docker and GitHub Actions
- Deploying Self-Hosted GitHub Actions Runners with Docker - Deploy self-hosted GitHub Actions runners with Docker and Docker Swarm to DigitalOcean.
- Setup Auto-scaled self-hosted GitHub Actions Runners on AWS Spot-instances
- Getting the Gist of GitHub Actions
- here
-
Programming Languages
Sub Categories
Utility
70
Deployment
57
Static Analysis
57
GitHub Tools and Management
38
Pull Requests
32
Official Actions
22
Notifications and Messages
21
Collection of Actions
20
Cheat Sheet
14
GitHub Pages
10
Frontend Tools
9
Create your Actions
9
External Services
9
Build
8
Machine Learning Ops
7
Monitoring
6
Workflow Examples
4
Localization
2
Database
1
Dynamic Analysis
1
Keywords
github-actions
175
actions
83
github-action
54
github
37
ci
24
action
19
docker
16
golang
12
workflow
11
deployment
10
linter
10
reviewdog
9
python
8
typescript
8
pull-requests
8
continuous-integration
8
devops
8
javascript
7
go
7
workflows
6
release
6
pull-request
6
git
5
php
5
aws
5
release-automation
5
automation
5
android
5
ci-cd
5
github-pages
4
python3
4
nodejs
4
github-api
4
maven
3
data-science
3
hugo
3
lighthouse
3
secrets
3
security
3
linting
3
github-actions-docker
3
code-quality
3
stylelint
3
vscode
3
cli
3
labels
3
jekyll
3
publishing
3
ssh
3
issues
3