Discovering the Most Popular and Most Used Github Actions

This post was contributed by Aleksey Kulikov, Founder of Treo (Page Speed Monitoring Service).


In 2018, GitHub announced a new CI/CD platform to automate workflows and cut down on development cycles called GitHub Actions. Since then, the GitHub Marketplace UI has gained an incredible amount of popularity, with over 4,000 Actions to help developers.

Earlier this year, I participated in building the ⭐️ Lighthouse CI Action. With GitHub Actions gaining more popularity, I wanted to know how well it was performing, along with many other Actions including the one for Codecov. Unfortunately, I couldn’t find any information about the popularity and usage of different actions.

I decided to build a custom script that crawls all categories and use Github Search (example query) to estimate usage in open-source projects. 

The script crawled over 4,000 projects, and here are the highlights:

  • 9/10 most used actions are built by Github
  • A good action is small, focused, and composable. Learn from Github – their actions are terrific
  • Github Pages is a very popular use-case. I bet it could be a leading JAMstack platform if Github put a small, dedicated team to it
  • AWS, GCloud, Azure, and others already have official actions. Github Actions is the CI/CD platform.

Along with these findings, I have detailed top lists by usage, popularity, and a combination of both. GitHub-specific actions are denoted by the 😺 emoji, while Lighthouse CI actions are marked with a ⭐️, and the Codecov action is marked with a ☂️. The analysis script was run on September 9th, 2020.

GitHub Actions ranking by usage

The ranking is based on usage in open-source projects. It uses GitHub Search that queries appearance in .github/workflows folder (example query).

RankTitleUsageRepo
1😺 Checkout498507actions/checkout
2😺 Setup Node.js environment85103actions/setup-node
3😺 Setup Python65833actions/setup-python
4😺 Cache39751actions/cache
5😺 Setup Java JDK38759actions/setup-java
6😺 Upload a Build Artifact37077actions/upload-artifact
7😺 Setup Go environment19289actions/setup-go
8😺 Setup .NET Core SDK16417actions/setup-dotnet
9😺 Download a Build Artifact11979actions/download-artifact
10☂️ Codecov9979codecov/codecov-action
11GitHub Pages action8426peaceiris/actions-gh-pages
12😺 Create a Release8016actions/create-release
13😺 Upload a Release Asset7631actions/upload-release-asset
14Azure WebApp7461Azure/webapps-deploy
15Deploy to GitHub Pages6761JamesIves/github-pages-deploy-action
16rust-toolchain5920actions-rs/toolchain
17GitHub Action for Yarn5372Borales/actions-yarn
18“Configure AWS Credentials” Action For GitHub Actions4606aws-actions/configure-aws-credentials
19GitHub Push4375ad-m/github-push-action
20Build and push Docker images4340docker/build-push-action
21😺 First interaction4216actions/first-interaction
22Create an issue4194JasonEtco/create-an-issue
23rust-cargo4132actions-rs/cargo
24Azure Container Registry Login3629Azure/docker-login
25😺 Close Stale Issues3437actions/stale
26Publish Docker2807elgohr/Publish-Docker-Github-Action
27Amazon ECR “Login” Action for GitHub Actions2780aws-actions/amazon-ecr-login
28Setup Ruby, JRuby and TruffleRuby2770ruby/setup-ruby
29Setup gcloud environment2760GoogleCloudPlatform/github-actions
30Setup Julia environment2687julia-actions/setup-julia
31Amazon ECS “Deploy Task Definition” Action for GitHub Actions2483aws-actions/amazon-ecs-deploy-task-definition
32Amazon ECS “Render Task Definition” Action for GitHub Actions2476aws-actions/amazon-ecs-render-task-definition
33Coveralls GitHub Action2358coverallsapp/github-action
34😺 GitHub Script2355actions/github-script
35Flutter action2312subosito/flutter-action
36Azure Login2293Azure/login
37SSH Remote Commands2146appleboy/ssh-action
38GH Release2087softprops/action-gh-release
39😺 Labeler2034actions/labeler
40GitHub Action for Firebase1923w9jds/firebase-action
41Hugo setup1813peaceiris/actions-hugo
42pypi-publish1811pypa/gh-action-pypi-publish
43Create Pull Request1775peter-evans/create-pull-request
44Docker Buildx1607crazy-max/ghaction-docker-buildx
45Gradle Wrapper Validation1600gradle/wrapper-validation-action
46Release Drafter1480release-drafter/release-drafter
47Code Climate Coverage Action1235paambaati/codeclimate-action
48setup-msbuild1188microsoft/setup-msbuild
49😺 Setup Elixir1159actions/setup-elixir
50Blog Post Workflow1094gautamkrishnar/blog-post-workflow

GitHub Actions ranking by popularity

The ranking is based on the number of stars, and the action should be used at least in 50 projects (to filter popular projects in GitHub Actions Marketplace).

RankTitleStarsRepo
1Super-Linter5500github/super-linter
2😺 Cache1400actions/cache
3Release Drafter1400release-drafter/release-drafter
4GitHub Pages action1300peaceiris/actions-gh-pages
5Swift Doc1200SwiftDocOrg/swift-doc
6Deploy to GitHub Pages915JamesIves/github-pages-deploy-action
7😺 Checkout912actions/checkout
8Image Actions727calibreapp/image-actions
9Build and push Docker images697docker/build-push-action
10SSH Remote Commands663appleboy/ssh-action
11😺 Setup Node.js environment650actions/setup-node
12😺 Create a Release637actions/create-release
13Setup gcloud environment627GoogleCloudPlatform/github-actions
14😺 Upload a Build Artifact610actions/upload-artifact
15😺 GitHub Script572actions/github-script
16⭐️ Lighthouse CI Action539treosh/lighthouse-ci-action
17Blog Post Workflow526gautamkrishnar/blog-post-workflow
18Publish Docker494elgohr/Publish-Docker-Github-Action
19Profile Readme Development Stats461anmol098/waka-readme-stats
20☂️ Codecov438codecov/codecov-action
21Debugging with tmate435mxschmitt/action-tmate
22FTP Deploy424SamKirkland/FTP-Deploy-Action
23Automatic Rebase410cirrus-actions/rebase
24GitHub Push404ad-m/github-push-action
25😺 Labeler392actions/labeler
26GitHub Action for Firebase390w9jds/firebase-action
27Hugo setup378peaceiris/actions-hugo
28😺 Upload a Release Asset364actions/upload-release-asset
29Flutter action364subosito/flutter-action
30S3 Sync347jakejarvis/s3-sync-action
31Merge pull requests346pascalgn/automerge-action
32GH Release335softprops/action-gh-release
33Cypress.io330cypress-io/github-action
34Automated releases for npm packages.327mikeal/merge-release
35“Configure AWS Credentials” Action For GitHub Actions313aws-actions/configure-aws-credentials
36Create Pull Request297peter-evans/create-pull-request
37😺 Setup Go environment268actions/setup-go
38😺 Setup Python259actions/setup-python
39compressed-size-action257preactjs/compressed-size-action
40Github Action for LaTeX245xu-cheng/latex-action
41Serverless240serverless/github-action
42😺 Close Stale Issues236actions/stale
43Slack Notify234rtCamp/action-slack-notify
44😺 Setup Java JDK230actions/setup-java
45Telegram Notify226appleboy/telegram-action
46Telegram Message Notify226appleboy/telegram-action
47pypi-publish216pypa/gh-action-pypi-publish
48SCP Command to Transfer Files215appleboy/scp-action
49SCP Files215appleboy/scp-action
50Lighthouse Audit208jakejarvis/lighthouse-action

GitHub Actions ranking

The ranking of GitHub Action based on popularity and usage.

RankTitleStars Rank/TotalUsage Rank/TotalRepo
1😺 Checkout7/9121/498507actions/checkout
2😺 Cache2/14004/39751actions/cache
3😺 Setup Node.js environment11/6502/85103actions/setup-node
4GitHub Pages action4/130011/8426peaceiris/actions-gh-pages
5😺 Upload a Build Artifact14/6106/37077actions/upload-artifact
6Deploy to GitHub Pages6/91515/6761JamesIves/github-pages-deploy-action
7😺 Create a Release12/63712/8016actions/create-release
8☂️ Codecov20/43810/9979codecov/codecov-action
9😺 Setup Python38/2593/65833actions/setup-python
10Build and push Docker images9/69720/4340docker/build-push-action
11😺 Setup Go environment37/2687/19289actions/setup-go
12😺 Upload a Release Asset28/36413/7631actions/upload-release-asset
13😺 Setup Java JDK44/2305/38759actions/setup-java
14GitHub Push24/40419/4375ad-m/github-push-action
15Publish Docker18/49426/2807elgohr/Publish-Docker-Github-Action
16Setup gcloud environment13/62729/2760GoogleCloudPlatform/github-actions
17“Configure AWS Credentials” Action For GitHub Actions35/31318/4606aws-actions/configure-aws-credentials
18😺 Setup .NET Core SDK55/1988/16417actions/setup-dotnet
19😺 Download a Build Artifact60/1899/11979actions/download-artifact
20😺 GitHub Script15/57234/2355actions/github-script
21SSH Remote Commands10/66337/2146appleboy/ssh-action
22😺 Close Stale Issues42/23625/3437actions/stale
23Release Drafter3/140046/1480release-drafter/release-drafter
24Flutter action29/36435/2312subosito/flutter-action
25😺 Labeler25/39239/2034actions/labeler
26rust-cargo57/19723/4132actions-rs/cargo
27GitHub Action for Firebase26/39040/1923w9jds/firebase-action
28GH Release32/33538/2087softprops/action-gh-release
29Hugo setup27/37841/1813peaceiris/actions-hugo
30rust-toolchain81/14316/5920actions-rs/toolchain
31Blog Post Workflow17/52650/1094gautamkrishnar/blog-post-workflow
32Setup Ruby, JRuby and TruffleRuby61/18828/2770ruby/setup-ruby
33Amazon ECR “Login” Action for GitHub Actions67/17327/2780aws-actions/amazon-ecr-login
34Create Pull Request36/29743/1775peter-evans/create-pull-request
35GitHub Action for Yarn92/12017/5372Borales/actions-yarn
36pypi-publish47/21642/1811pypa/gh-action-pypi-publish
37Cypress.io33/33052/1038cypress-io/github-action
38Coveralls GitHub Action72/16033/2358coverallsapp/github-action
39S3 Sync30/34755/969jakejarvis/s3-sync-action
40FTP Deploy22/42462/823SamKirkland/FTP-Deploy-Action
41Amazon ECS “Deploy Task Definition” Action for GitHub Actions87/13231/2483aws-actions/amazon-ecs-deploy-task-definition
42Docker Buildx65/17744/1607crazy-max/ghaction-docker-buildx
43Merge pull requests31/34664/807pascalgn/automerge-action
44Automatic Rebase23/41071/660cirrus-actions/rebase
45SCP Command to Transfer Files48/21560/848appleboy/scp-action
46SCP Files49/21561/832appleboy/scp-action
47HashiCorp – Setup Terraform59/19056/892hashicorp/setup-terraform
48action-slack56/19859/8598398a7/action-slack
49Create an issue136/7222/4194JasonEtco/create-an-issue
50Super-Linter1/550092/395github/super-linter
51😺 Setup Elixir88/13049/1159actions/setup-elixir
52Run golangci-lint80/14454/975golangci/golangci-lint-action
53Auto Approve78/14658/860hmarr/auto-approve-action
54😺 First interaction153/6221/4216actions/first-interaction
55GitHub Pages96/11651/1080crazy-max/ghaction-github-pages
56Azure WebApp171/5614/7461Azure/webapps-deploy
57Slack Notify43/23479/579rtCamp/action-slack-notify
58Azure Container Registry Login156/6124/3629Azure/docker-login
59WordPress Plugin Deploy54/20478/58210up/action-wordpress-plugin-deploy
60Cancel Workflow Action66/17472/653styfle/cancel-workflow-action
61Setup Deno environment82/14365/784denolib/setup-deno
62Amazon ECS “Render Task Definition” Action for GitHub Actions149/6532/2476aws-actions/amazon-ecs-render-task-definition
63Github Tag Bump62/18677/590anothrNick/github-tag-action
64rust-clippy-check84/13866/738actions-rs/clippy-check
65Gradle Wrapper Validation127/7845/1600gradle/wrapper-validation-action
66Upload files to a GitHub release114/9553/999svenstaro/upload-release-action
67GitHub Action for DigitalOcean – doctl70/16476/598digitalocean/action-doctl
68Repository Dispatch74/15774/640peter-evans/repository-dispatch
69Github Action for LaTeX40/24596/370xu-cheng/latex-action
70Action For Semantic Release97/11569/686cycjimmy/semantic-release-action
71Create Release128/7857/874ncipollo/release-action
72Install Qt100/11173/649jurplel/install-qt-action
73NPM or Yarn install with caching117/9267/699bahmutov/npm-install
74Debugging with tmate21/435117/302mxschmitt/action-tmate
75Code Climate Coverage Action162/5947/1235paambaati/codeclimate-action
76Gatsby Publish75/15191/400enriikke/gatsby-gh-pages-action
77setup-java118/9070/661olafurpg/setup-scala
78ssh deploy73/15893/387easingthemes/ssh-deploy
79Deploy to GitHub Pages with Container71/16195/371maxheld83/ghpages
80Profile Readme Development Stats19/461124/263anmol098/waka-readme-stats
81⭐️ Lighthouse CI Action16/539126/260treosh/lighthouse-ci-action
82pre-commit109/9983/486pre-commit/action
83Install Nix125/8375/613cachix/install-nix-action
84Add & Commit144/6868/693EndBug/add-and-commit
85Electron Builder Action53/205116/305samuelmeuli/action-electron-builder
86Netlify Actions110/9888/420nwtgck/actions-netlify
87Publish to npm94/11897/362pascalgn/npm-publish-action
88setup-msbuild192/4548/1188microsoft/setup-msbuild
89Setup Julia environment237/2930/2687julia-actions/setup-julia
90ansible-lint124/8490/401ansible/ansible-lint-action
91Slatify101/111102/334homoluctus/slatify
92Telegram Notify45/226131/249appleboy/telegram-action
93Telegram Message Notify46/226132/249appleboy/telegram-action
94Commit Linter151/6481/531wagoid/commitlint-github-action
95Azure Login243/2836/2293Azure/login
96Jekyll Actions103/108110/319helaili/jekyll-action
97rust-audit-check152/6486/457actions-rs/audit-check
98Black Code Formatter76/150128/256lgeiger/black-action
99Install SSH Key106/102113/310shimataro/ssh-key-action
100Docker Hub Description129/78104/326peter-evans/dockerhub-description

The Codecov team is proud to support Aleksey Kulikov, Founder of Treo (Page Speed Monitoring Service) and contributor to the Lighthouse CI Action.

1 thought on “Discovering the Most Popular and Most Used Github Actions

Comments are closed.

%d bloggers like this:
search previous next tag category expand menu location phone mail time cart zoom edit close