10 Hidden Gems in GitHub Actions for Automating Your Workflow
Here are 10 lesser-known but insanely useful GitHub Actions you should be using.
1. YAML Validator
- name: Validate YAML
uses: ibiqlik/action-yaml-lint@v3
with:
config_file: '.yamllint'
β Saves you from debugging night-mare inducing YAML misconfigurations
β Essential for Kubernetes, GitHub Workflows and CI/CD.
2. Markdown Link Checker
- name: Check Markdown Links
uses: gaurav-nelson/github-action-markdown-link-check@v1
β Keep documentation flawless.
3. Auto Assign PRs
- name: Auto Assign PR
uses: kentaro-m/auto-assign-action@v1
with:
assignees: 'team-lead'
reviewers: 'senior-dev'
β Save time, specially for those teams who handle multiple PRs daily.
4. Commitlint
- name: Commitlint
uses: wagoid/commitlint-github-action@v5
β Keeping changelogs neat and versioning structured.
5. Cache Dependencies
- name: Cache Node Modules
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
β Reducing build times in active development environments.
6. Notify Slack
- name: Notify Slack
uses: rtCamp/action-slack-notify@v2
with:
webhook-url: ${{ secrets.SLACK_WEBHOOK }}
message: "Deployment Status: ${{ job.status }}"
β Keeping teams updated instantly with real-time slack notifications for builds, tests, and deployments.
7. License Compilance Checker
- name: License Check
uses: anchorfree/license-check-action@v2
β If your project depends on external libraries, you need to ensure all licenses are compliant. This Action does the checking for you.
8. Notify Slack
- name: PR Size Labeler
uses: kentaro-m/size-label-action@v3
β Helps reviewers by labeling PRs based on sizeβsmall, medium, large.
9. Security Scan with Trivy
- name: Security Scan
uses: aquasecurity/trivy-action@v0.3.0
with:
image-ref: myapp:latest
β Keeping your Docker images secure.
β Identifying vulnerable dependencies before deployment.
10. GitHub Actions for JIRA Integration
- 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 }}"
β This Action automatically updates tickets based on GitHub commits and PR.
Which one will you use ?