Skip to content

Instantly share code, notes, and snippets.

@alekseykulikov
Last active August 3, 2021 20:53
Show Gist options
  • Select an option

  • Save alekseykulikov/28e3a8d52bf1cd8f42f506335a6242ed to your computer and use it in GitHub Desktop.

Select an option

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 (detailed ranking is below).
  • 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_.

By usage:

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

By stars:

Rank Title Stars Repo
1 GitHub Pages action 1000 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

Combined:

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