A comprehensive collection of reusable GitHub Actions workflows for DevOps automation, covering Docker operations, AWS deployments, security scanning, code quality checks, and more.
This repository provides production-ready, reusable GitHub Actions workflows that can be called from other repositories to standardize and simplify your CI/CD pipelines. These workflows are designed to be modular, secure, and easy to integrate into your existing projects.
- Docker Operations: Build, scan, push, and deploy Docker images
- AWS Integration: Deploy to AWS using Terraform, CodeBuild, CloudFormation, and more
- Security Scanning: Automated security checks for dependencies, containers, and infrastructure
- Code Quality: Linting and formatting for multiple languages and file types
- Automation: Dependabot auto-merge, PR management, and release automation
To use these reusable workflows, you'll need:
- GitHub repository with Actions enabled
- Appropriate secrets configured in your repository (e.g.,
AWS_ACCESS_KEY_ID,DOCKER_HUB_TOKEN) - Required permissions for the specific workflow you're using
To use a reusable workflow in your repository, create a workflow file (e.g., .github/workflows/my-workflow.yml) and reference the desired workflow:
name: My Workflow
on:
push:
branches: [main]
jobs:
docker-build-and-push:
uses: dceoy/gh-actions-for-devops/.github/workflows/docker-build-and-push.yml@main
with:
registry: docker.io
registry-user: myusername
image-name: my-app
context: .
secrets:
DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}The workflows are organized by category for easier navigation. Each workflow is designed to be called from other repositories using the workflow_call trigger.
-
-
- Lint for AWS CloudFormation
-
- Build using an AWS CodeBuild project
-
aws-parameter-store-update.yml
- Update AWS Parameter Store values
-
- Claude Code Action
-
- Dependabot auto-merge
-
- Docker image build and push
-
docker-build-with-multi-targets.yml
- Docker image build and save for multiple build targets
-
- Docker image build from a bake definition file
-
- Security scan for Docker images
-
- Lint and security scan for Dockerfile
-
- Docker image pull from AWS
-
docker-save-and-terraform-deploy-to-aws.yml
- Docker image save and resource deployment to AWS using Terraform
-
- Gemini CLI with Slack notification
-
github-actions-lint-and-scan.yml
- Lint and security scan for GitHub Actions workflows
-
- GitHub CodeQL Analysis
-
github-merged-branch-deletion.yml
- Deletion of merged branches on GitHub
-
github-pr-branch-aggregation.yml
- Aggregation of open pull request branches
-
- Release on GitHub
-
- Lint and security scan for Go
-
- Lint for JSON
-
- Schema validation for JSON
-
microsoft-defender-for-devops.yml
- Microsoft Defender for Devops
-
- PR-agent
-
python-package-format-and-pr.yml
- Formatting for Python
-
python-package-lint-and-scan.yml
- Lint and security scan for Python
-
python-package-release-on-pypi-and-github.yml
- Python package release on PyPI and GitHub
-
- Test for Python Package
-
- Build using PyInstaller
-
- Formatting for R
-
- Lint for R
-
- Lint for Shell
-
- Deployment of AWS resources using Terraform
-
- Formatting for Terraform
-
- Lint and security scan for Terraform
-
terraform-lock-files-upgrade-and-pr-merge.yml
- Upgrade of Terraform lock files and pull request merge
-
terraform-lock-files-upgrade.yml
- Upgrade of Terraform lock files
-
terragrunt-aws-switch-resources.yml
- Switcher to apply or destroy AWS resources using Terragrunt
-
- Lint for TOML
-
- Lint and security scan for TypeScript
-
web-api-monitoring-with-slack.yml
- Synthetic web API monitoring with Slack notification
-
- Lint for YAML
-
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright (c) 2024 Daichi Narushima