GitHub Actions Tutorial — Marketplace Overview

2 minute read

GitHub Actions Marketplace

The GitHub Actions Marketplace is a catalog of over 20,000 pre-built actions that you can use in your workflows. Instead of writing everything from scratch, you can leverage community and official actions for common tasks.


What is the Marketplace?

The Marketplace lives at github.com/marketplace?type=actions. It’s a searchable directory where developers and organizations publish reusable actions.

Each Marketplace listing includes:

  • Action name and description
  • Input parameters and outputs
  • Usage examples
  • Version history
  • Source code link (every action is a public GitHub repo)

Here are the actions you’ll use in almost every workflow:

Action Purpose Usage
actions/checkout@v4 Clone your repository Every workflow needs this
actions/setup-node@v4 Install Node.js Node.js projects
actions/setup-python@v5 Install Python Python projects
actions/setup-java@v4 Install Java/JDK Java/Kotlin/Scala
actions/cache@v4 Cache dependencies Speed up builds
actions/upload-artifact@v4 Save files between jobs Build outputs, reports
actions/download-artifact@v4 Retrieve saved files Multi-job pipelines
docker/build-push-action@v5 Build & push Docker images Container deployments
aws-actions/configure-aws-credentials@v4 AWS authentication AWS deployments
azure/login@v2 Azure authentication Azure deployments

How to Use a Marketplace Action

Step 1: Find the Action

Search the Marketplace or browse by category (CI, Deployment, Security, Code Quality, etc.).

Step 2: Check the Version

Always pin to a major version tag for stability:

# ✅ Good — pinned to major version
- uses: actions/checkout@v4

# ⚠️ Risky — uses latest commit on main
- uses: actions/checkout@main

# 🔒 Most secure — pinned to exact commit SHA
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11

Step 3: Configure Inputs

Most actions accept with: parameters:


- uses: actions/setup-node@v4
  with:
    node-version: 20
    cache: 'npm'

Step 4: Use Outputs

Some actions produce outputs you can reference in later steps:


- id: setup
  uses: actions/setup-node@v4
  with:
    node-version: 20

- run: echo "Node version is ${{ steps.setup.outputs.node-version }}"


Evaluating Marketplace Actions

Before using a third-party action, check:

Check Why
Stars / Downloads Indicates community trust
Verified creator badge Published by a verified organization
Last updated Actively maintained?
Source code Review the code for security
Version tags Uses semantic versioning?

Security tip: For sensitive workflows (deployments, secrets), prefer actions from GitHub (actions/*), verified creators, or pin to a specific commit SHA.


Categories

The Marketplace organizes actions into categories:

  • Continuous Integration — Build, test, lint
  • Deployment — AWS, Azure, GCP, Kubernetes, Heroku
  • Security — CodeQL, Snyk, Trivy, Dependabot
  • Code Quality — ESLint, Prettier, Black, Flake8
  • Monitoring — Slack notifications, Datadog, PagerDuty
  • Utilities — Label management, stale issue cleanup, PR automation

Quick Reference

Concept Description
Marketplace URL github.com/marketplace?type=actions
Version pinning Use @v4 (major) or @sha (exact)
Inputs Configured with with:
Outputs Referenced with ${{ steps.<id>.outputs.<name> }}
Security Prefer verified creators, review source code

← Previous: Pricing & Limits

Next: Practice Exercises →

Updated: