|
| 1 | +# 05. Marketplace Actions |
| 2 | + |
| 3 | +The [GitHub Actions Marketplace](https://github.com/marketplace?type=actions) is one of the platforms best features. There are thousands of open source actions you can use to build your automation pipelines. |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | +## Assessing Actions |
| 9 | + |
| 10 | +Not all actions are created equal. You should review before use. |
| 11 | + |
| 12 | +1. Assess like any open source dependency |
| 13 | +2. Does it do what you need it to? |
| 14 | +3. Signals for quality/trustworthiness: |
| 15 | + - User verification |
| 16 | + - Number of stars |
| 17 | + - Active commit history |
| 18 | + |
| 19 | +## Security |
| 20 | + |
| 21 | +Actions often run with access to sensitive data/environments |
| 22 | + |
| 23 | +The only way to ensure you are running the same version is to pin with the commit hash: |
| 24 | +``` |
| 25 | +❌ - uses: actions/checkout |
| 26 | +❌ - uses: actions/checkout@v4 |
| 27 | +❌ - uses: actions/checkout@v4.2.2 |
| 28 | +✅ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |
| 29 | +``` |
| 30 | + |
| 31 | +In 2025, a supply chain attack affected many repositories who did not follow this approach: https://www.wiz.io/blog/github-action-tj-actions-changed-files-supply-chain-attack-cve-2025-30066 |
| 32 | + |
| 33 | +## Popular Actions |
| 34 | + |
| 35 | +### Official Actions (from GitHub) |
| 36 | +- checkout https://github.com/marketplace/actions/checkout-action |
| 37 | +- cache https://github.com/marketplace/actions/cache |
| 38 | +- artifact |
| 39 | + - upload https://github.com/marketplace/actions/upload-a-build-artifact |
| 40 | + - download https://github.com/marketplace/actions/download-a-build-artifact |
| 41 | +- github-script https://github.com/marketplace/actions/github-script |
| 42 | + |
| 43 | +### Install Runtimes / Dependencies (e.g. node) |
| 44 | +- setup-node https://github.com/marketplace/actions/setup-node-js-environment |
| 45 | +- setup-go https://github.com/marketplace/actions/setup-go-environment |
| 46 | +- setup-java-jdk https://github.com/marketplace/actions/setup-java-jdk |
| 47 | + |
| 48 | +### Auth to 3rd External Application / Platform |
| 49 | +- AWS https://github.com/marketplace/actions/configure-aws-credentials-action-for-github-actions |
| 50 | +- Azure https://github.com/marketplace/actions/azure-login |
| 51 | +- GCP https://github.com/marketplace/actions/authenticate-to-google-cloud |
| 52 | + |
| 53 | +### Other |
| 54 | +- Super-linter https://github.com/marketplace/actions/super-linter |
| 55 | +- Build / push container images: https://github.com/marketplace/actions/build-and-push-docker-images |
0 commit comments