Skip to content

Instantly share code, notes, and snippets.

@alekseykulikov
Last active August 3, 2021 20:53
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save alekseykulikov/28e3a8d52bf1cd8f42f506335a6242ed to your computer and use it in GitHub Desktop.
Save alekseykulikov/28e3a8d52bf1cd8f42f506335a6242ed to your computer and use it in GitHub Desktop.
Github Actions Ranking (June 18, 2020)

Github Actions is a CI/CD platform that gained a lot of popularity recently. I participated in building โญ๏ธ Lighthouse CI Action and was curious how well it performs.

But Github Marketplace UI shows no ranking information. Essentially, It's a search with random results; at least, I don't understand the order. I couldn't find โญ๏ธ Lighthouse CI Action in Continuous integration category after browsing 50 available pages (Each page shows 20 results, so it's possible to see only 1000 results, but CI category has 1469 ๐Ÿ˜).

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 4000 projects, and here are the highlights:

  • 8/10 most used actions built by Github;
  • 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.

I'd love to know what you think about this ranking and Github Actions. Let me know on Twitter @alekseykulikov_.

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, for example.

Rank Title Usage Repo
1 ๐Ÿ˜บ Checkout 353912 actions/checkout
2 ๐Ÿ˜บ Setup Node.js environment 77316 actions/setup-node
3 ๐Ÿ˜บ Setup Python 39827 actions/setup-python
4 ๐Ÿ˜บ Setup Java JDK 29519 actions/setup-java
5 ๐Ÿ˜บ Upload a Build Artifact 25177 actions/upload-artifact
6 ๐Ÿ˜บ Setup Go environment 14168 actions/setup-go
7 ๐Ÿ˜บ Setup .NET Core SDK 11544 actions/setup-dotnet
8 ๐Ÿ˜บ Download a Build Artifact 7791 actions/download-artifact
9 Codecov 6680 codecov/codecov-action
10 GitHub Pages action 5410 peaceiris/actions-gh-pages
11 ๐Ÿ˜บ Create a Release 5335 actions/create-release
12 Azure WebApp 4830 Azure/webapps-deploy
13 Deploy to GitHub Pages 4769 JamesIves/github-pages-deploy-action
14 ๐Ÿ˜บ Upload a Release Asset 4678 actions/upload-release-asset
15 rust-toolchain 3977 actions-rs/toolchain
16 ๐Ÿ˜บ First interaction 3229 actions/first-interaction
17 "Configure AWS Credentials" Action For GitHub Actions 3119 aws-actions/configure-aws-credentials
18 Docker Login 2975 Azure/docker-login
19 GitHub Push 2830 ad-m/github-push-action
20 rust-cargo 2820 actions-rs/cargo
21 GitHub Action for Yarn 2705 Borales/actions-yarn
22 Publish Docker 2449 elgohr/Publish-Docker-Github-Action
23 ๐Ÿ˜บ Close Stale Issues 2229 actions/stale
24 Setup Julia environment 2121 julia-actions/setup-julia
25 Amazon ECR "Login" Action for GitHub Actions 2092 aws-actions/amazon-ecr-login
26 Setup gcloud environment 2051 GoogleCloudPlatform/github-actions
27 Amazon ECS "Render Task Definition" Action for GitHub Actions 1905 aws-actions/amazon-ecs-render-task-definition
28 Amazon ECS "Deploy Task Definition" Action for GitHub Actions 1902 aws-actions/amazon-ecs-deploy-task-definition
29 Build and push Docker images 1753 docker/build-push-action
30 Coveralls GitHub Action 1716 coverallsapp/github-action
31 ๐Ÿ˜บ Labeler 1583 actions/labeler
32 Flutter action 1525 subosito/flutter-action
33 Azure Login 1408 Azure/login
34 Setup Ruby, JRuby and TruffleRuby 1385 ruby/setup-ruby
35 GitHub Action for Firebase 1345 w9jds/firebase-action
36 SSH Remote Commands 1339 appleboy/ssh-action
37 Hugo setup 1289 peaceiris/actions-hugo
38 Create Pull Request 1221 peter-evans/create-pull-request
39 pypi-publish 1154 pypa/gh-action-pypi-publish
40 ๐Ÿ˜บ GitHub Script 1112 actions/github-script
41 Git Auto Commit 1019 stefanzweifel/git-auto-commit-action
42 ๐Ÿ˜บ Setup Elixir 883 actions/setup-elixir
43 Code Climate Coverage Action 856 paambaati/codeclimate-action
44 Gradle Wrapper Validation 850 gradle/wrapper-validation-action
45 GitHub Pages 755 crazy-max/ghaction-github-pages
46 Auto Approve 698 hmarr/auto-approve-action
47 S3 Sync 676 jakejarvis/s3-sync-action
48 action-slack 647 8398a7/action-slack
49 Upload files to a GitHub release 636 svenstaro/upload-release-action
50 Cypress.io 622 cypress-io/github-action

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).

Rank Title Stars Repo
1 GitHub Pages action 1004 peaceiris/actions-gh-pages
2 Deploy to GitHub Pages 739 JamesIves/github-pages-deploy-action
3 ๐Ÿ˜บ Checkout 691 actions/checkout
4 Image Actions 612 calibreapp/image-actions
5 ๐Ÿ˜บ Setup Node.js environment 527 actions/setup-node
6 โญ๏ธ Lighthouse CI Action 498 treosh/lighthouse-ci-action
7 ๐Ÿ˜บ Upload a Build Artifact 496 actions/upload-artifact
8 Setup gcloud environment 480 GoogleCloudPlatform/github-actions
9 SSH Remote Commands 480 appleboy/ssh-action
10 ๐Ÿ˜บ Create a Release 466 actions/create-release
11 Publish Docker 463 elgohr/Publish-Docker-Github-Action
12 Build and push Docker images 455 docker/build-push-action
13 ๐Ÿ˜บ GitHub Script 396 actions/github-script
14 Automatic Rebase 365 cirrus-actions/rebase
15 Debugging with tmate 356 mxschmitt/action-tmate
16 FTP Deploy 347 SamKirkland/FTP-Deploy-Action
17 Codecov 331 codecov/codecov-action
18 GitHub Push 323 ad-m/github-push-action
19 ๐Ÿ˜บ Labeler 313 actions/labeler
20 GitHub Action for Firebase 311 w9jds/firebase-action
21 Hugo setup 301 peaceiris/actions-hugo
22 Automated releases for npm packages. 300 mikeal/merge-release
23 ๐Ÿ˜บ Upload a Release Asset 290 actions/upload-release-asset
24 Flutter action 282 subosito/flutter-action
25 S3 Sync 274 jakejarvis/s3-sync-action
26 Merge pull requests 264 pascalgn/automerge-action
27 Cypress.io 261 cypress-io/github-action
28 "Configure AWS Credentials" Action For GitHub Actions 222 aws-actions/configure-aws-credentials
29 ๐Ÿ˜บ Setup Go environment 217 actions/setup-go
30 Create Pull Request 216 peter-evans/create-pull-request
31 ๐Ÿ˜บ Setup Python 207 actions/setup-python
32 compressed-size-action 202 preactjs/compressed-size-action
33 Github Action for LaTeX 200 xu-cheng/latex-action
34 Serverless 199 serverless/github-action
35 ๐Ÿ˜บ Setup Java JDK 193 actions/setup-java
36 ๐Ÿ˜บ Close Stale Issues 190 actions/stale
37 Telegram Notify 188 appleboy/telegram-action
38 Telegram Message Notify 188 appleboy/telegram-action
39 Lighthouse Audit 188 jakejarvis/lighthouse-action
40 WordPress Plugin Deploy 186 10up/action-wordpress-plugin-deploy
41 pypi-publish 176 pypa/gh-action-pypi-publish
42 webfactory/ssh-agent 173 webfactory/ssh-agent
43 Slack Notify 172 rtCamp/action-slack-notify
44 GitHub Action for SwiftLint 166 norio-nomura/action-swiftlint
45 ๐Ÿ˜บ Setup .NET Core SDK 165 actions/setup-dotnet
46 rust-cargo 164 actions-rs/cargo
47 Deploy to GitHub Pages with Container 161 maxheld83/ghpages
48 Deploy to Cloudflare Workers with Wrangler 156 cloudflare/wrangler-action
49 Git Auto Commit 155 stefanzweifel/git-auto-commit-action
50 SCP Files 155 appleboy/scp-action

Github Actions ranking

The ranking of Github Action based on popularity and usage.

Rank Title Stars Rank/Total Usage Rank/Total Repo
1 ๐Ÿ˜บ Checkout 3/691 1/353912 actions/checkout
2 ๐Ÿ˜บ Setup Node.js environment 5/527 2/77316 actions/setup-node
3 ๐Ÿ˜บ Upload a Build Artifact 7/496 5/25177 actions/upload-artifact
4 GitHub Pages action 1/1000 10/5410 peaceiris/actions-gh-pages
5 Deploy to GitHub Pages 2/739 13/4769 JamesIves/github-pages-deploy-action
6 ๐Ÿ˜บ Create a Release 10/466 11/5335 actions/create-release
7 Codecov 17/331 9/6680 codecov/codecov-action
8 ๐Ÿ˜บ Setup Python 31/207 3/39827 actions/setup-python
9 ๐Ÿ˜บ Setup Go environment 29/217 6/14168 actions/setup-go
10 ๐Ÿ˜บ Setup Java JDK 35/193 4/29519 actions/setup-java
11 ๐Ÿ˜บ Upload a Release Asset 23/290 14/4678 actions/upload-release-asset
12 Publish Docker 11/463 22/2449 elgohr/Publish-Docker-Github-Action
13 GitHub Push 18/323 19/2830 ad-m/github-push-action
14 ๐Ÿ˜บ Setup .NET Core SDK 45/165 7/11544 actions/setup-dotnet
15 Setup gcloud environment 8/480 26/2051 GoogleCloudPlatform/github-actions
16 "Configure AWS Credentials" Action For GitHub Actions 28/222 17/3119 aws-actions/configure-aws-credentials
17 Build and push Docker images 12/455 29/1753 docker/build-push-action
18 ๐Ÿ˜บ Download a Build Artifact 54/153 8/7791 actions/download-artifact
19 SSH Remote Commands 9/480 36/1339 appleboy/ssh-action
20 ๐Ÿ˜บ Labeler 19/313 31/1583 actions/labeler
21 ๐Ÿ˜บ Close Stale Issues 36/190 23/2229 actions/stale
22 rust-cargo 46/164 20/2820 actions-rs/cargo
23 Flutter action 24/282 32/1525 subosito/flutter-action
24 GitHub Action for Firebase 20/311 35/1345 w9jds/firebase-action
25 ๐Ÿ˜บ GitHub Script 13/396 40/1112 actions/github-script
26 Hugo setup 21/301 37/1289 peaceiris/actions-hugo
27 rust-toolchain 70/115 15/3977 actions-rs/toolchain
28 Create Pull Request 30/216 38/1221 peter-evans/create-pull-request
29 Amazon ECR "Login" Action for GitHub Actions 64/129 25/2092 aws-actions/amazon-ecr-login
30 S3 Sync 25/274 47/676 jakejarvis/s3-sync-action
31 pypi-publish 41/176 39/1154 pypa/gh-action-pypi-publish
32 Setup Ruby, JRuby and TruffleRuby 52/154 34/1385 ruby/setup-ruby
33 GitHub Action for Yarn 79/101 21/2705 Borales/actions-yarn
34 FTP Deploy 16/347 53/584 SamKirkland/FTP-Deploy-Action
35 Coveralls GitHub Action 65/128 30/1716 coverallsapp/github-action
36 Cypress.io 27/261 50/622 cypress-io/github-action
37 Git Auto Commit 49/155 41/1019 stefanzweifel/git-auto-commit-action
38 Automatic Rebase 14/365 61/473 cirrus-actions/rebase
39 Amazon ECS "Deploy Task Definition" Action for GitHub Actions 82/98 28/1902 aws-actions/amazon-ecs-deploy-task-definition
40 action-slack 56/150 48/647 8398a7/action-slack
41 Auto Approve 60/133 46/698 hmarr/auto-approve-action
42 Docker Login 119/58 18/2975 Azure/docker-login
43 ๐Ÿ˜บ Setup Elixir 72/113 42/883 actions/setup-elixir
44 webfactory/ssh-agent 42/173 59/508 webfactory/ssh-agent
45 Merge pull requests 26/264 68/414 pascalgn/automerge-action
46 SCP Files 50/155 56/527 appleboy/scp-action
47 ๐Ÿ˜บ First interaction 131/48 16/3229 actions/first-interaction
48 WordPress Plugin Deploy 40/186 62/455 10up/action-wordpress-plugin-deploy
49 SCP Command to Transfer Files 51/155 57/527 appleboy/scp-action
50 GitHub Pages 83/97 45/755 crazy-max/ghaction-github-pages
51 Azure WebApp 153/38 12/4830 Azure/webapps-deploy
52 rust-clippy-check 68/122 58/522 actions-rs/clippy-check
53 Gradle Wrapper Validation 99/72 44/850 gradle/wrapper-validation-action
54 Slack Notify 43/172 73/388 rtCamp/action-slack-notify
55 Setup Miniconda 71/115 60/485 goanpeca/setup-miniconda
56 Github Tag Bump 55/152 69/413 anothrNick/github-tag-action
57 Amazon ECS "Render Task Definition" Action for GitHub Actions 139/45 27/1905 aws-actions/amazon-ecs-render-task-definition
58 Upload files to a GitHub release 102/71 49/636 svenstaro/upload-release-action
59 Setup Deno environment 67/123 67/415 denolib/setup-deno
60 setup-java 94/75 55/570 olafurpg/setup-scala
61 Deploy to GitHub Pages with Container 47/161 79/309 maxheld83/ghpages
62 Code Climate Coverage Action 121/54 43/856 paambaati/codeclimate-action
63 Create Release 105/69 52/587 ncipollo/release-action
64 Debugging with tmate 15/356 98/229 mxschmitt/action-tmate
65 Github Action for LaTeX 33/200 90/247 xu-cheng/latex-action
66 Install Qt 92/83 63/449 jurplel/install-qt-action
67 โญ๏ธ Lighthouse CI Action 6/498 107/204 treosh/lighthouse-ci-action
68 Action For Semantic Release 90/85 65/435 cycjimmy/semantic-release-action
69 HashiCorp - Setup Terraform 77/103 77/328 hashicorp/setup-terraform
70 Slatify 76/105 80/302 homoluctus/slatify
71 Setup Julia environment 188/27 24/2121 julia-actions/setup-julia
72 NPM or Yarn install with caching 97/73 71/405 bahmutov/npm-install
73 Gatsby Publish 61/132 91/245 enriikke/gatsby-gh-pages-action
74 Create an issue 106/68 70/407 JasonEtco/create-an-issue
75 Install Nix 114/63 74/383 cachix/install-nix-action
76 Electron Builder Action 53/154 106/208 samuelmeuli/action-electron-builder
77 ssh deploy 78/102 95/237 easingthemes/ssh-deploy
78 Azure Login 207/22 33/1408 Azure/login
79 Setup MSBuild.exe 142/44 66/430 warrenbuckley/Setup-MSBuild
80 Commit Linter 128/51 75/370 wagoid/commitlint-github-action
81 GitHub Action for DigitalOcean - doctl 62/131 109/199 digitalocean/action-doctl
82 Run golangci-lint 111/66 88/253 golangci/golangci-lint-action
83 Docker Hub Description 117/60 85/265 peter-evans/dockerhub-description
84 rust-audit-check 124/52 82/287 actions-rs/audit-check
85 Automated releases for npm packages. 22/300 134/152 mikeal/merge-release
86 Build Number Generator 96/74 97/230 einaregilsson/build-number
87 setup-msbuild 183/28 54/575 microsoft/setup-msbuild
88 ansible-lint 107/68 93/239 ansible/ansible-lint-action
89 Run golangci-lint with reviewdog 116/61 89/253 reviewdog/action-golangci-lint
90 Deploy to Kubernetes cluster 150/41 76/355 Azure/k8s-deploy
91 pre-commit 104/70 100/224 pre-commit/action
92 GitHub Action for SwiftLint 44/166 132/156 norio-nomura/action-swiftlint
93 Telegram Notify 37/188 143/146 appleboy/telegram-action
94 GitHub Action for Slack 66/127 129/158 Ilshidur/action-slack
95 PR Labeler 98/73 113/190 TimonVS/pr-labeler-action
96 Automatic Releases 162/35 81/288 marvinpinto/action-automatic-releases
97 Black Code Formatter 59/141 133/155 lgeiger/black-action
98 Telegram Message Notify 38/188 144/146 appleboy/telegram-action
99 Install SSH Key 95/75 116/181 shimataro/ssh-key-action
100 Expo CLI 57/145 137/151 expo/expo-github-action
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment