C.W.K.
Stream
Lesson 07 of 12 · published

The Marketplace

~10 min · marketplace, actions, vetting

Level 0Apprentice
0 XP0/101 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

Tens of thousands of actions, varying quality

The GitHub Actions Marketplace lists tens of thousands of actions for every conceivable task: caching, deploying, uploading, scanning, posting Slack messages, generating release notes. The good news: you rarely need to write your own. The bad news: anyone can publish, and you're running their code on your runner with your secrets.

How to vet an action

  1. Source repo activity — last commit recent? Issues responded to?
  2. Stars / users / 'used by' — strong signal of community trust.
  3. Maintainer — official orgs (actions/, docker/, aws-actions/, azure/) are safest. Personal accounts get higher scrutiny.
  4. Verified creator badge — GitHub's own light vetting.
  5. What permissions does it need? Does it ask for the GITHUB_TOKEN? Read the source.
  6. SHA pin it. Always. Even for trusted publishers.

Categories you'll use repeatedly

  • actions/checkout — clone the repo (every workflow).
  • actions/setup-* — install Python / Node / Java / Go.
  • actions/cache — generic caching.
  • actions/upload-artifact + actions/download-artifact.
  • docker/login-action, docker/build-push-action.
  • aws-actions/configure-aws-credentials (OIDC).
  • peaceiris/actions-gh-pages — GitHub Pages deploy.

Code

Audit one action — bash one-liner per uses: ref·bash
# Look up where actions/checkout@v4 actually points right now
gh api repos/actions/checkout/git/refs/tags/v4 --jq .object.sha
# returns the current SHA the v4 tag points at

# Pin yourself by replacing v4 with that exact SHA
# After:  uses: actions/checkout@<that-sha>

External links

Exercise

Pick one third-party action you currently use (not in the actions/ org). Open the source repo, read action.yml, identify what it does to the filesystem and which secrets it touches. Decide if you'd still use it after the read.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.