Reusable GitHub Actions workflows and composite actions for Node.js, Python, shell, Helm, Terraform, and Ansible projects.
- CI pipelines for Node.js (lint → typecheck → test → build), Python (lint → format → test), and shell (ShellCheck → actionlint → Bats)
- CI pipelines for Helm (lint + template dry-run), Kubernetes (kubeconform validation), Terraform (validate + fmt check), and Ansible (lint + syntax check)
- CD workflows for Docker/GHCR, Kaniko (self-hosted), GitHub Pages, Vercel, and centralized docs sync
- Composite actions for Node.js/Python setup with caching, ShellCheck, Bats, actionlint, kubeconform, and monorepo change detection
- Automated releases via release-please
- Security scanning: dependency audit, CodeQL, and secret detection
- Pre-commit hooks via prek for local validation
- A GitHub repository
- Appropriate secrets configured in your repo or organization (see each workflow's docs)
Reference any workflow from your caller workflow file.
| Stability need | Recommended pin | Example |
|---|---|---|
| Development / fast-moving | @main |
ci-node.yml@main |
| Production / reproducible | Release tag | ci-node.yml@v3.0.0 |
| Maximum reproducibility | Commit SHA | ci-node.yml@abc1234 |
The README and docs always reflect
@main. When releasing, consumers should pin to a tag for reproducible builds.
jobs:
ci:
uses: KevinDeBenedetti/github-workflows/.github/workflows/ci-node.yml@main
secrets: inherit→ Full usage guide: docs
| Workflow | Description | Doc |
|---|---|---|
ci-node.yml |
Node.js CI (lint → typecheck → test → build) | → |
ci-python.yml |
Python CI (lint → format → test) | → |
ci-shell.yml |
Shell CI (ShellCheck → actionlint → Bats) | → |
ci-ansible.yml |
Ansible CI (ansible-lint + syntax check) | → |
ci-helm.yml |
Helm CI (lint + template dry-run) | → |
ci-kubernetes.yml |
Kubernetes CI (kubeconform manifest validation) | → |
ci-terraform.yml |
Terraform CI (validate + fmt check) | → |
cd-docker.yml |
Build & push multi-platform Docker image to GHCR | → |
cd-kaniko.yml |
Build & push image with Kaniko on self-hosted runners | → |
cd-pages.yml |
Build & deploy static site to GitHub Pages | → |
cd-vercel.yml |
Deploy preview or production to Vercel | → |
cd-docs.yml |
Sync docs to a centralized docs repository | → |
release.yml |
Automated releases via release-please | → |
security.yml |
Secret scan + CodeQL SAST + dependency audit | → |
check-bot-commits.yml |
Guard PRs against bot-authored commits | → |
Full documentation is available at https://kevindebenedetti.github.io/github-workflows/.
It is generated from the docs/ directory and published automatically on push.
See examples/ for ready-to-copy caller workflows.