A collection of reusable GitHub Actions workflows for common CI/CD tasks. Call them from any repository with workflow_call.
- DRY — Avoid duplicating CI/CD config across repositories
- Centralized maintenance — Updates and fixes in one place
- Battle-tested — Workflows used in production and documented
- Drop-in — Reference the workflow, pass inputs, done
| Workflow | Description |
|---|---|
| Actionlint | Lint GitHub Actions workflows on PRs with reviewdog integration |
| Cloudflare Pages Cleanup | Delete all Cloudflare Pages deployments for a project |
| Docker Build and Push | Build multi-platform Docker images (AMD64/ARM64) and push to GHCR |
| Golang CLI Build and Test | Run tests, linting, and build verification for Go CLI apps |
| Golang CLI Release | Automate semantic versioning and GoReleaser-based releases for Go CLIs |
| Helm Docs | Generate Helm chart documentation with helm-docs and optionally commit to PR |
| Helm Lint | Lint Helm charts with chart-testing on pull requests |
| Helm Releaser | Package and publish Helm charts to GitHub Pages (and optionally GHCR OCI) |
| MkDocs Deploy | Build and deploy MkDocs sites to GitHub Pages |
| MkDocs + Helm Pages | Build MkDocs and publish into an existing Helm Pages branch |
| Node Build and Test | Lint, type check, and build Node.js projects on PRs |
| Node Release | CI gate (build + lint) then semantic-release for Node.js on push to main |
| Simple Semantic Release | Automate versioning and changelog generation with semantic-release |
| Terraform Docs | Generate terraform-docs for changed modules and commit to PR |
Add a job to your workflow that calls the reusable workflow:
jobs:
lint:
uses: AutomationDojo/reusable-cicd/.github/workflows/actionlint.yml@mainWith inputs and secrets:
jobs:
terraform-docs:
uses: AutomationDojo/reusable-cicd/.github/workflows/terraform-docs.yml@main
with:
token: ${{ secrets.GITHUB_TOKEN }}
secrets: inheritSee the full documentation for inputs, secrets, and examples per workflow.
Workflows that push commits, tags, or releases use a GitHub App for authentication. Configure these secrets at the repository or organization level:
| Secret | Description |
|---|---|
GITHUB_APP_ID |
GitHub App ID |
GITHUB_APP_PRIVATE_KEY |
App private key (PEM) |
Detailed setup instructions at reusable-cicd.automationdojo.org.
Full docs at reusable-cicd.automationdojo.org.