mirror of
https://github.com/sdras/awesome-actions.git
synced 2024-12-25 23:29:27 -05:00
A curated list of awesome actions to use on GitHub
877208a28f
https://github.com/marketplace/actions/go-linty GitHub action to run Go lint checks on PR event De-linting is a time-consuming process. The aim of LINTY is to support an iterative process to clear out lint. It uses a configuration file which lists packages that currently contain lint, and ensures that: packages listed in the configuration are removed once they are free of lint packages not listed in the configuration continue to be free of lint If either of the above statements is FALSE, LINTY prints out a warning and exits. If both statements are TRUE, LINTY prints out a table of lint counts for the packages that are listed in its configuration. |
||
---|---|---|
.github | ||
awesome-actions.jpg | ||
code-of-conduct.md | ||
contributing.md | ||
ideas.md | ||
LICENSE | ||
README.md |
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 as autoscaled containers in response. With GitHub Actions you can automate your workflow from idea to production.
Contents
Official Resources
- Official Site
- Beta Documentation (for deprecated HCL format actions)
- Official Documentation (for YML format actions)
- Official Actions Collection
- GitHub Blog Announcement
Status badge
Official documentation about the status badge has not been written yet.
URL to a status badge SVG.
https://github.com/{github_id}/{repository}/workflows/{workflow_name}/badge.svg
An example: https://github.com/sdras/awesome-actions/workflows/Lint%20Awesome%20List/badge.svg
Community Resources
GitHub Tools and Management
- Declaratively setup GitHub Labels
- Run GitHub Actions Locally
- Alternative (Python-based) for Running GitHub Actions Locally
- Manage GitHub Action workflows and actions by cli - Allows you to script edition.
- GitHub Action Builder and Previewer
- Move assigned issues to column in GitHub projects
- Move assigned pull requests to column in GitHub projects
- Add new issues to GitHub projects
- Add new pull requests to GitHub projects
- Add releases to GitHub
- Publish a docker image to Dockerhub
- Create an issue using content from a file
- Publish GitHub Releases with Assets
Collection of Actions
- Many linters and autofixers for various languages
- Node.js Actions Toolkit
- Use HashiCorp's Terraform
- GitHub Actions for Yarn
- GitHub Actions for Golang
- Android Build and Emulator Actions
- GitHub Actions for R and accompanying #rstats package
- GitHub Actions for WordPress
- GitHub Actions for Composer
- GitHub Actions for Flutter
Utility
- Sleep
- Wait for 200
- Run Cake tasks
- Run psake tasks
- SSH
- General purpose HTTP client for Actions, wrapping HTTPie
- Build Go apps using GoCenter
- Run pandoc - The swiss army knife for document conversions.
- Debug Action - Print environment variables and event to the Actions logs.
- Gate actions by filtering if files matching a pattern have been touched
- Scan for secrets in your source code
- Review the licenses of your node dependencies
- A GitHub Action to check your project's dependencies
- Check if package.json dependencies have changed
- Update a repository's "Full description" on Docker Hub
- GitHub Actions Badges for your README
- GitHub Actions for Python project with poetry
- GitHub Actions to compile LaTeX documents
- Create an envfile
- Update Maxmind Databases
- Debug with SSH over tmate - Debug the Action directly by providing a SSH connection.
Testing and Linting
- Runs Hadolint against a Dockerfile within a repository
- Test your Actions Locally
- Lint a Dockerfile (using replicatedhq/dockerfilelint)
- NPM Audit
- PHP Code fixer Action
- PHP Psalm Static code analyzer Action
- PHPStan Static code analyzer Action
- PHPQA toolsuite Action
- GraphQL Inspector Action
- Snyk CLI Test Action
- PowerShell static analysis with PSScriptAnalyzer
- Run web performance audits using Sitespeed.io
- Run Tests through Puppeteer, the Headless Chrome Node API
- Run ESLint with status checks and file diff annotations
- JavaScript-based linter for *.workflow files
- Send your latest code coverage score to Coveralls.io
- Lint a Dockerfile using Hadolint
- Lint terraform files using tflint
- Validate Puppet modules using Puppet PDK
- Scan git commits for secrets with gitleaks
- Send your code coverage to codecov.io
- autopep8: Automatically formats Python code to conform to the PEP 8 style guide
- xUnit Slack Reporter: Sends summary of tests from xUnit reports to a Slack channel
- Publishing code coverage to CodeClimate
- Run codeception tests
- Audit a webpage with Google Chrome's Lighthouse tests
- Run
localheinz/composer-normalize
to ensure your PHP project has a normalizedcomposer.json
- Run Go lint checks on PR event
Pull Requests
- Set pull request reviewers based on assignees
- Open or update pull request on branch push (with branch selection)
- Post gif on check fail
- Cleanup branches after merge
- Automatically rebase a PR
- Evaluate Clojure in the issue comment
- Create Pull Request when branch is pushed
- Label pull request once it has a specified number of approvals
- Add labels to Pull Request based on matched file patterns
- Auto approve pull requests
- Automatically add reviewers to pull request based on the configuration file
- Auto-commit back any changes made by previous actions
- Add labels to Pull Request based on branch name patterns
- Add labels to Pull Request based on total size of the diff
- Automatically merge Pull Requests that are ready
- Verify pull requests contain a ticket reference
- Create a pull request for changes to your repository in the actions workspace
- Pull Request Lint
GitHub Pages
- Deploy a Zola site to GitHub Pages
- Visualize your Dockerfile with a Container Tree
- Build Hugo static content site and publish it to gh-pages branch
- Build a Jekyll site—with Custom Jekyll Plugins & Build Scripts—and deploy it back to the Gh-Pages Branch
- Google Dataset Search Metadata - And other schema.org extractors to make datasets discoverable from GitHub pages.
- Deploy assets to GitHub pages - No building, just deploying.
- GitHub Actions for deploying to GitHub Pages with Static Site Generators
Notifications and Messages
- Confucious Wisdom (Pull Request Failure Message)
- Send a Discord notification
- Send a Slack message
- Post a Slack message as a bot
- Update Twitter status
- Generate Tweet content to share pull request file(s) after merge
- Send an SMS from GitHub Actions using Nexmo
- Trigger emails with release notes with SendGrid
- Send email on failed GitHub Checks
- Report webpack stats to packtracker.io
- 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 Pushover.net
- Send a dynamic notification to any service using Apprise
- Send a Push Notification via Push by Techulus
- Send email with SendGrid
Deployment
- Deploy to Netlify
- Deploy a Probot App using Actions
- Deploy a playlist to Spotify
- Deploy a serverless app to AWS Lambda with Up
- Deploy serverless infrastructure with AWS SAM
- Deploy a Node.js function to AWS Lambda and invoke it using the Serverless framework
- Deploy VS Code extensions with vsce
- Deploy a Node.js App to Azure
- Deploy via rsync over ssh
- Deploy to any Cloud or Kubernetes Using Pulumi
- Deploy a Cloudflare worker
- Deploy your DNS configuration using DNS Control
- Using surge.sh, deploy your branch specific storybook as a pull request deployment
- Create Release Archive
- Publish WordPress Plugin
- Deploy a Theme to Shopify
- Trigger multiple GitLab CI Pipeline
- Trigger multiple Jenkins Jobs
- GitHub Deployment API
- GitHub Action for zem
- GitHub Action for Homebrew
- Deploy Lambda code to an existing function
- Copy files and artifacts via SSH
- Executing remote ssh commands
- Deploy to Kubernetes with kubectl
- Update a Docker Hub repository description from README.md
- Purge Cloudflare cache after updating a website
- Sync/upload a directory to an AWS S3 bucket
External Services
- Use a Jenkinsfile
- Configure a DNS Record on Cloudflare
- Firebase
- GitHub Action for Firebase
- GitHub Action for JFrog CLI
- GitHub Action for Contentful Migration CLI
- GitHub Actions for Pixela (a-know/pi)
Frontend Tools
- Execute Gradle task
- JS Build Actions - Run Grunt or Gulp build tasks and commit file changes.
- Ember CLI Actions
- GitHub Action for Gatsby CLI
- Runs a WebPageTest audit and prints the results as commit comment
- GitHub Actions for Hugo extended
Internet of Things (IOT)
Tutorials
- Introducing GitHub Actions
- Deploying to Firebase Hosting with GitHub Actions
- Building GitHub Actions in Node.js
- GitHub Actions on Android project
- A guide to GitHub Actions using Node.js
- GitHub Actions for PHP Developers
- Continuous deployment of Next.js app with Up
- Converting Docker-based Actions to JavaScript/TypeScript
Please don't hesitate to make a PR if you have more resources to share. Check out contributing.md for more information