GitHub Actions has changed the game for automation. CI/CD, testing, and deployments? Sure, those are the basics.
But what if I told you there’s a whole world of underrated Actions that can make your workflow smoother, faster, and—dare I say—effortless?
Here are 10 lesser-known but insanely useful GitHub Actions you should be using.
1. YAML Validator
YAML is everywhere in automation, but one indentation mistake and boom—your pipeline is broken. This Action catches errors before you commit them.
Why it’s a game-changer:
- Saves you from debugging nightmare-inducing YAML misconfigurations.
- Essential for Kubernetes, GitHub workflows, and CI/CD.
- name: Validate YAML
uses: ibiqlik/action-yaml-lint@v3
with:
config_file: '.yamllint'
2. Markdown Link Checker
Ever had a README full of broken links? This Action scans your Markdown files and flags dead links before they embarrass you.
Perfect for:
- Keeping documentation flawless.
- Avoiding those awkward “this link is broken” messages from users.
- name: Check Markdown Links
uses: gaurav-nelson/github-action-markdown-link-check@v1
3. Auto Assign PRs
Stop manually assigning PRs. This Action does it for you based on predefined rules.
Why you need it:
- Saves time, especially for teams handling multiple PRs daily.
- Ensures code reviews don’t get lost in the shuffle.
- name: Auto Assign PR
uses: kentaro-m/auto-assign-action@v1
with:
assignees: 'team-lead'
reviewers: 'senior-dev'
4. Commitlint
Messy commit messages make tracking changes painful. This Action enforces consistency.
Best for:
- Teams following Conventional Commits.
- Keeping changelogs neat and versioning structured.
- name: Commitlint
uses: wagoid/commitlint-github-action@v5
5. Cache Dependencies
Dependency installation slowing down your builds? This Action caches them, making CI runs significantly faster.
Where it shines:
- Large Node.js/Python/Ruby projects.
- Reducing build times in active development environments.
- name: Cache Node Modules
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
6. Notify Slack
Stop refreshing GitHub to check workflow statuses. This Action sends real-time Slack notifications for builds, tests, and deployments.
Great for:
- Keeping teams updated instantly.
- Catching failed deployments before they cause chaos.
- name: Notify Slack
uses: rtCamp/action-slack-notify@v2
with:
webhook-url: ${{ secrets.SLACK_WEBHOOK }}
message: "Deployment Status: ${{ job.status }}"
7. License Compliance Checker
If your project depends on external libraries, you need to ensure all licenses are compliant. This Action does the checking for you.
Ideal for:
- Open-source projects.
- Enterprise teams with strict licensing policies.
- name: License Check
uses: anchorfree/license-check-action@v2
8. Pull Request Size Labeler
Helps reviewers by labeling PRs based on size—small, medium, large.
Why it’s useful:
- Lets teams prioritize quick PRs.
- Prevents massive, unmanageable PRs from slipping through.
- name: PR Size Labeler
uses: kentaro-m/size-label-action@v3
9. Security Scan with Trivy
Security is a non-negotiable. Trivy scans your container images and dependencies for vulnerabilities before they become a problem.
Use it for:
- Keeping your Docker images secure.
- Identifying vulnerable dependencies before deployment.
- name: Security Scan
uses: aquasecurity/trivy-action@v0.3.0
with:
image-ref: myapp:latest
10. GitHub Actions for JIRA Integration
If your team uses JIRA, this Action automatically updates tickets based on GitHub commits and PRs.
Why it matters:
- Keeps your development and project management teams aligned.
- Reduces manual updates and keeps issues moving.
- name: Update Jira Issue
uses: atlassian/gajira-create@v3
with:
project: "ENG"
issuetype: "Task"
summary: "Automated issue update from GitHub Action"
description: "Linked PR: ${{ github.event.pull_request.html_url }}"
Which one are you adding to your workflow?