Skip to content

KevinDeBenedetti/github-workflows

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

249 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

github-workflows

CI

Reusable GitHub Actions workflows and composite actions for Node.js, Python, shell, Helm, Terraform, and Ansible projects.

Features

  • 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

Prerequisites

  • A GitHub repository
  • Appropriate secrets configured in your repo or organization (see each workflow's docs)

Usage

Reference any workflow from your caller workflow file.

Pinning strategy

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

Available workflows

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

Documentation

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.

About

Collection of reusable GitHub Actions workflows for automating CI/CD and repository tasks.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors