Enterprise-grade GitHub Actions automation repository providing comprehensive CI/CD workflows, security scanning, and deployment automation for modern software development. This repository serves as a central template system for standardizing automation across multiple projects and teams.
Repository Information:
- Version: 4.17.1 (2026-02-11)
- Repository: bauer-group/automation-templates
- Branch: main
- Architecture: Modular, Reusable, Enterprise-Ready
| Resource | Description | Link |
|---|---|---|
| π Security Policy | Vulnerability reporting and security guidelines | SECURITY.MD |
| π€ Code of Conduct | Community standards and behavior guidelines | CODE_OF_CONDUCT.MD |
| π οΈ Contributing Guide | Development workflow and contribution standards | CONTRIBUTING.MD |
| π License | Project licensing information | LICENSE |
| π Issue Templates | Structured issue reporting templates | .github/ISSUE_TEMPLATE/ |
- name: π‘οΈ Multi-Engine Security Scan
uses: bauer-group/automation-templates/.github/actions/security-scan@main
with:
scan-engines: 'gitleaks,gitguardian'
scan-scope: 'all'
fail-on-findings: true
github-token: ${{ secrets.GITHUB_TOKEN }}
gitguardian-api-key: ${{ secrets.GITGUARDIAN_API_KEY }}- name: β‘ Fast Secrets Scan
uses: gitleaks/gitleaks-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}- name: π‘οΈ Advanced Security Scan
uses: GitGuardian/ggshield-action@v1
with:
api-key: ${{ secrets.GITGUARDIAN_API_KEY }}
args: secret scan path .name: π Automatic Release
on:
push:
branches: [main]
workflow_dispatch:
inputs:
security-scan-engines:
type: choice
default: 'both'
options: ['gitleaks', 'gitguardian', 'both']
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: π Semantic Release
uses: bauer-group/automation-templates/.github/actions/semantic-release@main
with:
dry-run: false
branches: main
token: ${{ secrets.GITHUB_TOKEN }}βββ .github/
β βββ actions/ # π§ Reusable Composite Actions
β β βββ action-resolver/ # Dynamic action resolution
β β βββ artifact-generator/ # Multi-format artifact generation
β β βββ auto-merge/ # Automated PR merging
β β βββ claude-code/ # AI-powered code assistant
β β βββ docker-build/ # Docker build with security scanning
β β βββ generate-changelog/ # Changelog generation
β β βββ gitguardian-scan/ # GitGuardian security scanning
β β βββ gitleaks-scan/ # Gitleaks secret detection
β β βββ labeler-triage/ # Issue/PR labeling and triage
β β βββ license-compliance/ # SPDX license compliance
β β βββ makefile-build/ # Makefile build automation
β β βββ readme-generate/ # Professional README generation
β β βββ repository-cleanup/ # Repository maintenance automation
β β βββ security-generate/ # Security policy generation
β β βββ security-scan/ # Multi-engine security scanning
β β βββ security-scan-meta/ # Security scan metadata
β β βββ semantic-release/ # Automated semantic releases
β β βββ teams-notification/ # Microsoft Teams integration
β β βββ dotnet-nuget/ # .NET NuGet build and pack
β β βββ zephyr-build/ # Zephyr RTOS build automation
β β βββ esp32-build/ # ESP32 microcontroller build automation
β β βββ stm32-build/ # STM32 microcontroller build automation
β β βββ platformio-build/ # PlatformIO cross-platform builds
β βββ config/ # π Configuration Templates
β β βββ claude-code/ # Claude Code Assistant configurations
β β βββ docker-build/ # Docker build configurations
β β βββ dotnet-build/ # .NET build configurations
β β βββ dotnet-desktop-build/ # .NET desktop build configurations
β β βββ issues/ # Issue template configurations
β β βββ makefile-build/ # Makefile build configurations
β β βββ meta-repository/ # Meta repository sync configurations
β β βββ nodejs-build/ # Node.js build configurations
β β βββ php-build/ # PHP build configurations
β β βββ pr-labeler/ # PR labeler configurations
β β βββ python-build/ # Python build configurations
β β βββ release/ # Release configurations
β β βββ repository-cleanup/ # Repository cleanup configurations
β β βββ security-policy/ # Security policy configurations
β β βββ shopware5-build/ # Shopware 5 plugin configurations
β β βββ teams-notification/ # Teams notification configurations
β β βββ zephyr-build/ # Zephyr RTOS configurations
β β βββ esp32-build/ # ESP32 microcontroller configurations
β β βββ stm32-build/ # STM32 microcontroller configurations
β β βββ platformio-build/ # PlatformIO build configurations
β β βββ commitlint.config.js # Commit linting rules
β βββ workflows/ # π Reusable Workflows
β βββ ai-issue-summary.yml # AI-powered issue summarization
β βββ automatic-release.yml # Automated release management
β βββ claude-code.yml # Claude Code AI assistant
β βββ coolify-deploy.yml # Coolify deployment automation
β βββ docker-build.yml # Docker build & deploy
β βββ documentation.yml # Documentation automation
β βββ dotnet-build.yml # .NET build & test
β βββ dotnet-desktop-build.yml # .NET desktop builds
β βββ dotnet-publish-library.yml # .NET library NuGet publishing
β βββ issue-automation.yml # Automated issue management
β βββ makefile-build.yml # Makefile-based builds
β βββ manual-release.yml # Manual release workflow
β βββ meta-repository-sync.yml # Meta repository synchronization
β βββ nodejs-build.yml # Node.js build & test
β βββ php-build.yml # PHP build & test
β βββ pr-labeler.yml # Pull request labeling
β βββ python-build.yml # Python builds & testing
β βββ python-semantic-release.yml # Python semantic releases
β βββ repository-cleanup.yml # Repository maintenance
β βββ security-management.yml # Security policy management
β βββ shopware5-build.yml # Shopware 5 plugin builds
β βββ teams-notifications.yml # Microsoft Teams notifications
β βββ zephyr-build.yml # Zephyr RTOS builds
β βββ esp32-build.yml # ESP32 microcontroller builds
β βββ stm32-build.yml # STM32 microcontroller builds
β βββ platformio-build.yml # PlatformIO cross-platform builds
β βββ modules-validate-dockerfile.yml # Dockerfile validation (Hadolint)
β βββ modules-validate-compose.yml # Docker Compose validation
β βββ modules-validate-shellscript.yml # Shell script validation (ShellCheck)
β βββ modules-*.yml # Additional module workflows
βββ github/ # π οΈ Repository Management Tools
β βββ branch-protect/ # Branch protection automation
β βββ claude-code/ # Claude Code documentation & tools
β βββ cleanup/ # Repository cleanup utilities
β βββ runner/ # Self-hosted runner management
β βββ workflows/ # Workflow examples & documentation
β βββ examples/ # π Usage Examples
β βββ ci-cd/ # General CI/CD examples
β βββ claude-code/ # Claude Code assistant examples
β βββ coolify-deploy/ # Coolify deployment examples
β βββ docker/ # Docker build examples
β βββ docker-compose/ # Docker Compose examples
β βββ dockerfile-validation/ # Dockerfile linting examples
β βββ documentation/ # Documentation examples
β βββ dotnet-build/ # .NET project examples
β βββ dotnet-desktop-build/ # .NET desktop examples
β βββ dotnet-nuget/ # .NET NuGet publishing examples
β βββ makefile-build/ # Makefile project examples
β βββ meta-repository/ # Meta repository examples
β βββ nodejs-build/ # Node.js project examples
β βββ php-build/ # PHP project examples
β βββ project-templates/ # Project template examples
β βββ python-build/ # Python project examples
β βββ python-release/ # Python release examples
β βββ release/ # Release workflow examples
β βββ repository-cleanup/ # Repository cleanup examples
β βββ security/ # Security workflow examples
β βββ shopware5-build/ # Shopware 5 plugin examples
β βββ teams-notification/ # Teams notification examples
β βββ zephyr-build/ # Zephyr RTOS examples
β βββ esp32-build/ # ESP32 microcontroller examples
β βββ stm32-build/ # STM32 microcontroller examples
β βββ platformio-build/ # PlatformIO build examples
βββ docs/ # π Comprehensive Documentation
β βββ workflows/ # Workflow documentation
β β βββ claude-code.md # Claude Code AI assistant
β β βββ coolify-deploy.md # Coolify deployment
β β βββ docker-build.md # Docker build system
β β βββ dotnet-build.md # .NET build system
β β βββ dotnet-desktop-build.md # .NET desktop builds
β β βββ makefile-build.md # Makefile build system
β β βββ meta-repository-sync.md # Meta repository sync
β β βββ modules-validate-compose.md # Compose validation
β β βββ modules-validate-dockerfile.md # Dockerfile validation (Hadolint)
β β βββ modules-validate-shellscript.md # Shell validation
β β βββ nodejs-build.md # Node.js build system
β β βββ php-build.md # PHP build system
β β βββ python-build.md # Python build system
β β βββ python-semantic-release.md # Python releases
β β βββ shopware5-build.md # Shopware 5 plugin builds
β β βββ teams-notifications.md # Teams notifications
β β βββ zephyr-build.md # Zephyr RTOS builds
β β βββ esp32-build.md # ESP32 microcontroller builds
β β βββ stm32-build.md # STM32 microcontroller builds
β β βββ platformio-build.md # PlatformIO builds
β βββ README.template.MD # This template file
β βββ SECRETS-NAMING-CONVENTION.md # Secret naming standards
βββ scripts/ # π¨ Utility Scripts
This repository provides comprehensive automation systems for modern software development, featuring modular and reusable components for different technology stacks.
Complete Docker automation with multi-platform builds, security scanning, and enterprise features.
| Component | Purpose | Usage |
|---|---|---|
| π§ docker-build action | Multi-platform Docker builds | Composite action with security scanning |
| π docker-build workflow | Complete Docker CI/CD | uses: bauer-group/automation-templates/.github/workflows/docker-build.yml@main |
| π Configuration Templates | Pre-configured setups | default, web-application, microservice, enterprise |
Quick Start - Docker:
name: π³ Docker Build
on: [push]
jobs:
docker:
uses: bauer-group/automation-templates/.github/workflows/docker-build.yml@main
with:
config-file: 'web-application'
image-name: 'my-app'
image-tag: ${{ github.sha }}
security-scan: true
secrets:
REGISTRY_TOKEN: ${{ secrets.GITHUB_TOKEN }}Modern Python automation with semantic versioning, automated releases, and comprehensive CI/CD pipeline.
| Component | Purpose | Usage |
|---|---|---|
| π python-semantic-release workflow | Complete Python Semantic Release CI/CD | uses: bauer-group/automation-templates/.github/workflows/python-semantic-release.yml@main |
Features:
- β Semantic Versioning - Automatic version bumps based on conventional commits
- β Trusted Publishing - Secure PyPI publishing without API tokens
- β Local Wheel Testing - Pre-release package validation
- β Documentation Updates - Automatic documentation refresh
- β Security Policy Updates - Automated security policy maintenance
Quick Start - Python:
name: π Python Semantic Release
on: [push, pull_request]
jobs:
python-release:
uses: bauer-group/automation-templates/.github/workflows/python-semantic-release.yml@main
with:
python-version: '3.12'
run-tests: true
build-local-wheel: true
update-documentation: true
run-tests: true
collect-coverage: true
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}Enterprise-grade security scanning and compliance automation.
| Component | Purpose | Usage |
|---|---|---|
| π‘οΈ security-scan action | Multi-engine security scanning | Gitleaks, GitGuardian, Trivy |
| π license-compliance action | License compliance checks | SPDX, FOSSA integration |
| π Release Management | Automated releases | Semantic versioning, changelog generation |
Complete automation for Zephyr Real-Time Operating System projects with multi-platform support and hardware testing.
| Component | Purpose | Usage |
|---|---|---|
| π§ zephyr-build action | Multi-board Zephyr builds | Composite action with SDK setup, testing, coverage |
| π zephyr-build workflow | Complete Zephyr CI/CD | uses: bauer-group/automation-templates/.github/workflows/zephyr-build.yml@main |
| π Configuration Templates | Pre-configured setups | default, iot-device, embedded-system, sample-application |
Quick Start - Zephyr:
name: β‘ Zephyr Build
on: [push]
jobs:
zephyr:
uses: bauer-group/automation-templates/.github/workflows/zephyr-build.yml@main
with:
boards: '["qemu_x86", "esp32", "nucleo_f429zi"]'
build-types: '["debug", "release"]'
run-tests: true
enable-coverage: trueComplete automation for ESP32 microcontroller projects using official Espressif ESP-IDF toolchain.
| Component | Purpose | Usage |
|---|---|---|
| π§ esp32-build action | ESP32 firmware builds | Composite action with ESP-IDF setup, testing |
| π esp32-build workflow | Complete ESP32 CI/CD | uses: bauer-group/automation-templates/.github/workflows/esp32-build.yml@main |
| π Configuration Templates | Pre-configured setups | default, iot-device, industrial, prototype |
Features:
- β Official ESP-IDF Docker Images - Espressif's official container images
- β Multi-Target Support - ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6
- β VS Code ESP-IDF Extension - Support for VS Code project structure
- β OTA Updates - Over-the-Air firmware update support
- β Secure Boot & Flash Encryption - Production security features
Quick Start - ESP32:
name: π ESP32 Build
on: [push]
jobs:
esp32:
uses: bauer-group/automation-templates/.github/workflows/esp32-build.yml@main
with:
idf-version: 'v5.3'
targets: '["esp32", "esp32s3", "esp32c3"]'
run-tests: true
create-release: ${{ startsWith(github.ref, 'refs/tags/v') }}Complete automation for STM32 microcontroller projects with support for multiple build systems.
| Component | Purpose | Usage |
|---|---|---|
| π§ stm32-build action | STM32 firmware builds | Composite action with ARM toolchain, CubeIDE support |
| π stm32-build workflow | Complete STM32 CI/CD | uses: bauer-group/automation-templates/.github/workflows/stm32-build.yml@main |
| π Configuration Templates | Pre-configured setups | default, industrial, prototype, low-power |
Features:
- β Multiple Build Systems - Makefile, CMake, STM32CubeIDE
- β CubeIDE Version Support - Configurable STM32CubeIDE versions (1.16.0, 1.15.x, etc.)
- β Multi-MCU Matrix - Build for multiple STM32 families in parallel
- β Static Analysis - Integrated code quality checks
- β Industrial Compliance - Quality gates for industrial applications
Quick Start - STM32:
name: π§ STM32 Build
on: [push]
jobs:
stm32:
uses: bauer-group/automation-templates/.github/workflows/stm32-build.yml@main
with:
build-system: 'cmake'
mcus: '["STM32F446RE", "STM32H743ZI"]'
cubeide-version: '1.16.0'
run-tests: trueComplete automation for PlatformIO cross-platform embedded development.
| Component | Purpose | Usage |
|---|---|---|
| π§ platformio-build action | Multi-environment PlatformIO builds | Composite action with testing, analysis |
| π platformio-build workflow | Complete PlatformIO CI/CD | uses: bauer-group/automation-templates/.github/workflows/platformio-build.yml@main |
| π Configuration Templates | Pre-configured setups | default, multi-platform, production, esp32-iot, stm32-industrial |
Features:
- β Cross-Platform Support - ESP32, STM32, AVR, ARM, native
- β Multi-Environment Matrix - Parallel builds for all targets
- β Unit Testing - Native and embedded test execution
- β Static Analysis - cppcheck, clangtidy integration
- β Library Registry - Automatic publishing to PlatformIO Registry
Quick Start - PlatformIO:
name: β‘ PlatformIO Build
on: [push]
jobs:
platformio:
uses: bauer-group/automation-templates/.github/workflows/platformio-build.yml@main
with:
environments: '["esp32dev", "nucleo_f446re", "uno"]'
pio-version: 'latest'
run-tests: true
enable-check: true
create-release: ${{ startsWith(github.ref, 'refs/tags/v') }}Complete automation for Shopware 5 plugin development with support for both legacy and modern plugin systems.
| Component | Purpose | Usage |
|---|---|---|
| π§ shopware5-build workflow | Complete Shopware 5 plugin CI/CD | uses: bauer-group/automation-templates/.github/workflows/shopware5-build.yml@main |
| π Configuration Templates | Pre-configured setups | default, legacy-plugin, modern-plugin, store-plugin |
Features:
- β Dual Plugin System Support - Automatic detection of legacy (v5.0-5.1) and modern (v5.2+) plugins
- β Shopware Store Integration - Automatic upload, validation, and store page updates
- β GitHub Release Management - Automated releases with changelog generation
- β Frontend Build Support - Node.js/npm integration for asset compilation
- β Quality Assurance - PHPUnit, PHPStan, PHP CodeSniffer integration
Quick Start - Shopware 5:
name: π Shopware 5 Plugin Build
on: [push]
jobs:
build:
uses: bauer-group/automation-templates/.github/workflows/shopware5-build.yml@main
with:
plugin-system: 'auto' # Auto-detect legacy or modern
php-version: '7.4'
# Testing & Quality
run-tests: true
run-phpstan: true
# Store Integration
validate-plugin: true
upload-to-store: true
# Release Management
create-github-release: true
auto-tag-version: true
secrets:
SHOPWARE_ACCOUNT_EMAIL: ${{ secrets.SHOPWARE_ACCOUNT_EMAIL }}
SHOPWARE_ACCOUNT_PASSWORD: ${{ secrets.SHOPWARE_ACCOUNT_PASSWORD }}Plugin System Detection:
- Legacy (v5.0-5.1):
plugin.xml,Bootstrap.phpinsrc/Backend/PluginNameorsrc/Frontend/PluginName - Modern (v5.2+):
composer.json, PSR-4 autoloading insrc/PluginName
Automated repository collection and organization using GitHub topics and git submodules.
| Component | Purpose | Usage |
|---|---|---|
| π§ meta-repository-sync workflow | Automated submodule sync by topics | uses: bauer-group/automation-templates/.github/workflows/meta-repository-sync.yml@main |
| π Configuration Templates | Topic-based organization | .github/config/meta-repository/default.json |
Features:
- β Topic-Based Organization - Automatically discover and organize repositories by GitHub topics
- β Public & Private Repos - Support for both public and private repositories
- β Submodule Automation - Add, update, and remove submodules based on topic configuration
- β README Generation - Auto-generate repository overview with grouped project listings
- β Multi-Format Output - Generate JSON and TXT files for each topic group
- β Prefix Removal - Clean repository names with configurable prefix patterns
- β Scheduled Sync - Automatic periodic synchronization with organization repositories
Quick Start - Meta Repository:
name: π Meta Repository Sync
on:
schedule:
- cron: '0 2 * * *' # Daily at 2 AM
workflow_dispatch:
jobs:
sync:
uses: bauer-group/automation-templates/.github/workflows/meta-repository-sync.yml@main
with:
config-file: '.github/config/meta-repository/topics.json'
include-private: false # Set to true to include private repos
generate-readme: true
generate-json: true
generate-txt: true
auto-commit: trueConfiguration Example (.github/config/meta-repository/topics.json):
{
"title": "Project Portfolio",
"description": "Organized collection of repositories by technology",
"groups": [
{
"topic": "python-library",
"folder": "Python-Libraries",
"name": "Python Libraries",
"description": "Reusable Python packages and libraries",
"remove_prefix": "python-"
},
{
"topic": "docker-app",
"folder": "Docker-Applications",
"name": "Docker Applications",
"description": "Containerized applications and services",
"remove_prefix": "docker-"
}
]
}| System | Status | Description | Usage |
|---|---|---|---|
| π’ .NET Build | Available | Complete .NET Core/Framework automation | uses: bauer-group/automation-templates/.github/workflows/dotnet-build.yml@main |
| π’ .NET Desktop | Available | Desktop application builds (WPF, WinForms) | uses: bauer-group/automation-templates/.github/workflows/dotnet-desktop-build.yml@main |
| π’ .NET Library Publish | Available | NuGet package build, sign, and publish | uses: bauer-group/automation-templates/.github/workflows/dotnet-publish-library.yml@main |
| π’ Node.js Build | Available | Node.js and npm/yarn automation | uses: bauer-group/automation-templates/.github/workflows/nodejs-build.yml@main |
| π’ PHP Build | Available | PHP and Composer automation | uses: bauer-group/automation-templates/.github/workflows/php-build.yml@main |
| π’ Makefile Build | Available | Makefile-based build automation | uses: bauer-group/automation-templates/.github/workflows/makefile-build.yml@main |
| π’ Zephyr RTOS | Available | Real-time OS build automation with hardware testing | uses: bauer-group/automation-templates/.github/workflows/zephyr-build.yml@main |
| π’ ESP32 | Available | ESP32 microcontroller builds with ESP-IDF | uses: bauer-group/automation-templates/.github/workflows/esp32-build.yml@main |
| π’ STM32 | Available | STM32 microcontroller builds (Makefile/CMake/CubeIDE) | uses: bauer-group/automation-templates/.github/workflows/stm32-build.yml@main |
| π’ PlatformIO | Available | Cross-platform embedded development | uses: bauer-group/automation-templates/.github/workflows/platformio-build.yml@main |
| π’ Shopware 5 | Available | Shopware 5 plugin build and store automation | uses: bauer-group/automation-templates/.github/workflows/shopware5-build.yml@main |
| π‘ Go Build | Planned | Go module and build automation | - |
| π‘ Rust Build | Planned | Cargo and Rust build automation | - |
AI-powered code assistant that responds to @claude mentions in issues, PRs, and comments with intelligent code analysis and suggestions.
| Component | Purpose | Usage |
|---|---|---|
| π§ claude-code action | AI code analysis composite action | Integrates Claude AI with configurable models |
| π claude-code workflow | Complete AI assistant CI/CD | uses: bauer-group/automation-templates/.github/workflows/claude-code.yml@main |
| π Configuration Templates | Pre-configured AI profiles | default, code-review, security-review, minimal |
Features:
- β Intelligent Code Reviews - Thorough analysis of pull requests
- β Issue Assistance - Help with bug reports and feature requests
- β Security Analysis - Security-focused code scanning
- β General Q&A - Answer questions about your codebase
Quick Start - Claude Code:
name: π€ Claude Code Assistant
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
claude:
if: contains(github.event.comment.body, '@claude')
uses: bauer-group/automation-templates/.github/workflows/claude-code.yml@main
with:
model: 'opus'
config-file: 'default'
secrets:
CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}| System | Status | Description | Usage |
|---|---|---|---|
| π’ Claude Code | Available | AI-powered code assistant | uses: bauer-group/automation-templates/.github/workflows/claude-code.yml@main |
| π’ Meta Repository Sync | Available | Automated submodule sync by topics | uses: bauer-group/automation-templates/.github/workflows/meta-repository-sync.yml@main |
| π’ Teams Notifications | Available | Microsoft Teams integration | uses: bauer-group/automation-templates/.github/workflows/teams-notifications.yml@main |
| π’ Repository Cleanup | Available | Automated repository maintenance | uses: bauer-group/automation-templates/.github/workflows/repository-cleanup.yml@main |
| π’ Coolify Deploy | Available | Coolify deployment automation | uses: bauer-group/automation-templates/.github/workflows/coolify-deploy.yml@main |
| π’ AI Issue Summary | Available | AI-powered issue summarization | uses: bauer-group/automation-templates/.github/workflows/ai-issue-summary.yml@main |
| π’ Issue Automation | Available | Automated issue management | uses: bauer-group/automation-templates/.github/workflows/issue-automation.yml@main |
| π’ PR Labeler | Available | Automated pull request labeling | uses: bauer-group/automation-templates/.github/workflows/pr-labeler.yml@main |
| Workflow | Purpose | Auto-Generated Files |
|---|---|---|
| π Documentation Management | Auto-generates README.MD from template | README.MD |
| π‘οΈ Security Policy Management | Auto-generates SECURITY.MD from template | SECURITY.MD |
| π Teams Notifications | Sends workflow notifications to Microsoft Teams | - |
| π Automatic Release | Automated semantic versioning and releases | CHANGELOG.MD |
These workflows ensure that documentation stays current with version changes and repository updates.
[extend]
useDefault = true
[allowlist]
paths = [
".git/**",
"node_modules/**",
"vendor/**"
]
regexes = [
'''password\s*=\s*["']?(test|demo|example)["']?''',
'''key\s*=\s*["']?(your[_-]?key[_-]?here)["']?'''
]version: 2
paths-ignore:
- .git/**
- node_modules/**
- vendor/**
secret:
minimum-severity: medium
ignore-known-secrets: false
policies:
all-policies: true.github/config/commitlint.config.js
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'type-enum': [2, 'always', [
'feat', 'fix', 'docs', 'style', 'refactor',
'test', 'chore', 'ci', 'build', 'revert', 'perf'
]],
'subject-max-length': [2, 'always', 72],
'header-max-length': [2, 'always', 100]
}
};-
Use as template repository:
gh repo create my-project --template bauer-group/automation-templates cd my-project -
Choose your automation system:
# For Docker projects cp .github/workflows/examples/docker/web-application-build.yml .github/workflows/ # For Python projects cp github/workflows/examples/python-build/python-semantic-release.yml .github/workflows/python-release.yml # For Zephyr RTOS projects cp .github/workflows/examples/zephyr-build/basic-zephyr-app.yml .github/workflows/ # For Shopware 5 plugins cp github/workflows/examples/shopware5-build/simple-modern-plugin.yml .github/workflows/shopware.yml # For general CI/CD cp .github/workflows/examples/ci-cd/comprehensive-ci-cd.yml .github/workflows/
-
Configure required secrets:
# Basic (always required) gh secret set GITHUB_TOKEN --body "${{ secrets.GITHUB_TOKEN }}" # Docker builds gh secret set REGISTRY_TOKEN --body "your-registry-token" gh secret set COSIGN_PRIVATE_KEY --body "$(cat cosign.key)" gh secret set COSIGN_PASSWORD --body "your-cosign-password" # Python publishing gh secret set PYPI_API_TOKEN --body "your-pypi-token" gh secret set CODECOV_TOKEN --body "your-codecov-token" # Security scanning gh secret set GITGUARDIAN_API_KEY --body "your-gitguardian-key" # Shopware 5 plugins gh secret set SHOPWARE_ACCOUNT_EMAIL --body "your-shopware-email" gh secret set SHOPWARE_ACCOUNT_PASSWORD --body "your-shopware-password"
-
Customize configuration:
# Edit Docker configuration vim .github/config/docker-build/web-application.yml # Edit Python configuration vim pyproject.toml # Configure semantic release # Edit Zephyr configuration vim .github/config/zephyr-build/iot-device.yml # Update commit linting rules vim .github/config/commitlint.config.js
# .github/workflows/docker.yml
name: Docker Build & Deploy
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
docker:
uses: bauer-group/automation-templates/.github/workflows/docker-build.yml@main
with:
config-file: 'web-application'
image-name: 'my-webapp'
image-tag: ${{ github.ref_name }}-${{ github.sha }}
platforms: 'linux/amd64,linux/arm64'
security-scan: true
generate-sbom: true
sign-image: true
deploy: ${{ github.ref == 'refs/heads/main' }}
secrets:
REGISTRY_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COSIGN_PRIVATE_KEY: ${{ secrets.COSIGN_PRIVATE_KEY }}
COSIGN_PASSWORD: ${{ secrets.COSIGN_PASSWORD }}# .github/workflows/python.yml
name: Python Build & Test
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
build:
uses: bauer-group/automation-templates/.github/workflows/python-semantic-release.yml@main
with:
config-file: 'application'
python-version: '3.12'
package-manager: 'poetry'
run-tests: true
collect-coverage: true
security-scan: true
quality-checks: true
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
publish:
if: github.ref == 'refs/heads/main'
needs: build
uses: bauer-group/automation-templates/.github/workflows/python-semantic-release.yml@main
with:
config-file: 'application'
package-manager: 'poetry'
registry: 'pypi'
secrets:
PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}# .github/workflows/zephyr.yml
name: Zephyr Build & Test
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
zephyr:
uses: bauer-group/automation-templates/.github/workflows/zephyr-build.yml@main
with:
config-file: 'iot-device'
boards: '["esp32", "nucleo_f429zi", "nrf52840dk_nrf52840"]'
build-types: '["debug", "release"]'
run-tests: true
enable-coverage: true
static-analysis: true
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
TEAMS_WEBHOOK_URL: ${{ secrets.TEAMS_WEBHOOK_URL }}- name: Build Docker Image
uses: bauer-group/automation-templates/.github/actions/docker-build@main
with:
image-name: 'my-app'
image-tag: ${{ github.sha }}
platforms: 'linux/amd64,linux/arm64'
security-scan: true
fail-on-severity: 'HIGH'
generate-sbom: true
sign-image: true- name: Setup Python Environment
uses: actions/setup-python@v5
with:
python-version: '3.12'
package-manager: 'poetry'
cache-enabled: true
install-dependencies: true- name: Security Scan
uses: bauer-group/automation-templates/.github/actions/security-scan@main
with:
scan-engines: 'both'
fail-on-findings: true
github-token: ${{ secrets.GITHUB_TOKEN }}
gitguardian-api-key: ${{ secrets.GITGUARDIAN_API_KEY }}- name: Build Zephyr Application
uses: bauer-group/automation-templates/.github/actions/zephyr-build@main
with:
board: 'esp32'
build-type: 'release'
run-tests: true
enable-coverage: true
static-analysis: true
zephyr-version: '0.17.4'- Layered approach: Use multiple scanning engines for comprehensive coverage
- Pre-commit hooks: Implement client-side scanning with Gitleaks
- Continuous monitoring: Enable GitGuardian for production environments
- Secret management: Store all sensitive data in GitHub Secrets
- Conventional commits: Use structured commit messages for automatic versioning
- Branch protection: Enable required status checks and reviews
- Automated testing: Implement comprehensive test suites
- Semantic versioning: Follow semver principles for version numbering
- Template-based: Use consistent documentation templates
- Auto-generation: Automate README updates with workflows
- Comprehensive coverage: Document all features and configurations
- Regular updates: Keep documentation current with changes
All reusable workflows support self-hosted GitHub Actions runners, allowing organizations to run workflows on their own infrastructure.
Every workflow accepts a runs-on parameter:
jobs:
build:
uses: bauer-group/automation-templates/.github/workflows/dotnet-build.yml@main
with:
project-path: 'src/MyApp.csproj'
# GitHub-hosted (default)
runs-on: 'ubuntu-latest'
# OR Self-hosted with labels
runs-on: '["self-hosted", "linux", "docker"]'| Format | Example | Use Case |
|---|---|---|
| String | 'ubuntu-latest' |
GitHub-hosted runners |
| JSON Array | '["self-hosted", "linux"]' |
Self-hosted with labels |
| JSON Array | '["self-hosted", "Windows", "vs2022"]' |
Windows self-hosted |
- Cost Control: No GitHub Actions minutes consumption
- Custom Hardware: Use specialized hardware (GPU, high memory)
- Network Access: Access to internal networks and resources
- Compliance: Keep builds within your infrastructure
For detailed setup instructions, see Self-Hosted Runner Documentation.
# Organization-wide security scanning
name: Organization Security Audit
on:
schedule:
- cron: '0 2 * * 1' # Weekly Monday 2 AM
jobs:
audit:
strategy:
matrix:
repository: [repo1, repo2, repo3]
runs-on: ubuntu-latest
steps:
- name: Security scan
uses: bauer-group/automation-templates/.github/actions/security-scan@main
with:
scan-engines: 'both'
report-format: 'sarif'- Branch protection: Automated branch protection rules
- Required checks: Enforce security and quality gates
- Compliance reporting: Generate audit-ready reports
- Custom policies: Implement organization-specific rules
# Configure branch protection for multiple repositories
cd github/branch-protect
python protect_main.py \
--repositories "org/repo1,org/repo2" \
--require-reviews 2 \
--require-status-checks# Clean up stale branches and releases
cd github/cleanup
python github_cleanup.py \
--organization "your-org" \
--cleanup-branches \
--cleanup-releases \
--dry-run# Deploy self-hosted runners
cd github/runner
docker-compose up -d
# Scale runners based on load
./scripts/manage.sh scale --instances 5- Security scan failures: Check scan configuration and token permissions
- Release automation issues: Validate commit format and semantic-release configuration
- Workflow permissions: Ensure proper GITHUB_TOKEN permissions
- Template rendering: Verify all required variables are provided
# Test security scan configuration
cat .gitleaks.toml
cat .gitguardian.yaml
# Validate commit format
git log --oneline -10
# Check workflow permissions
gh auth status --show-token- π³ Docker Build System - Complete Docker automation guide
- π Python Build System - Python application builds and testing
- π Python Semantic Release System - Modern Python CI/CD with semantic versioning
- β‘ Zephyr RTOS Build System - Real-time OS automation with hardware testing
- π ESP32 Build System - ESP32 microcontroller automation with ESP-IDF
- π§ STM32 Build System - STM32 microcontroller automation
- β‘ PlatformIO Build System - Cross-platform embedded development
- π¨ .NET Build System - .NET Core/Framework automation
- π₯οΈ .NET Desktop Build System - Desktop application automation
- π¦ .NET Library Publishing - NuGet package build, sign, and publish
- π¦ Node.js Build System - Node.js and npm/yarn automation
- π PHP Build System - PHP and Composer automation
- π Shopware 5 Plugin Build System - Shopware 5 plugin automation with store integration
- π§ Makefile Build System - Makefile-based build automation
- π€ Claude Code AI Assistant - AI-powered code assistant
- π Coolify Deploy - Coolify deployment automation
- π Meta Repository Sync - Automated submodule synchronization
- π Teams Notifications - Microsoft Teams integration
- π Self-Hosted Runners - Self-hosted runner configuration guide
- π³ Dockerfile Validation - Dockerfile linting with Hadolint
- π Docker Compose Validation - Docker Compose validation
- π Shell Script Validation - Shell script linting with ShellCheck
- π³ docker-build - Multi-platform Docker builds with security
- π¦ dotnet-nuget - .NET NuGet build, sign, and pack
- β‘ zephyr-build - Complete Zephyr RTOS build automation with SDK management
- π esp32-build - ESP32 microcontroller build automation with ESP-IDF
- π§ stm32-build - STM32 microcontroller build automation
- β‘ platformio-build - PlatformIO cross-platform build automation
- π§ makefile-build - Makefile-based build automation
- π‘οΈ security-scan - Multi-engine security scanning
- π gitleaks-scan - Gitleaks secret detection
- π‘οΈ gitguardian-scan - GitGuardian security scanning
- π license-compliance - SPDX license compliance
- π€ claude-code - AI-powered code assistant
- π¨ artifact-generator - Multi-format artifact generation
- π·οΈ labeler-triage - Issue/PR labeling and triage
- π auto-merge - Automated PR merging
- π readme-generate - Professional README generation
- π‘οΈ security-generate - Security policy generation
- π semantic-release - Automated release management
- π generate-changelog - Changelog generation
- π teams-notification - Microsoft Teams integration
- π§Ή repository-cleanup - Repository maintenance automation
- π³ Docker Configurations - Docker build configuration templates
- β‘ Zephyr Configurations - Zephyr RTOS build configuration templates
- π ESP32 Configurations - ESP32 build configuration templates
- π§ STM32 Configurations - STM32 build configuration templates
- β‘ PlatformIO Configurations - PlatformIO build configuration templates
- π€ Claude Code Configurations - Claude Code AI assistant configurations
- π Shopware 5 Configurations - Shopware 5 plugin build configuration templates
- π Meta Repository Configurations - Meta repository sync configurations
- βοΈ Workflow Configuration - General workflow configuration guide
- π Secrets Naming Convention - Standardized secret naming
- π Branch Protection Tools - Automated branch protection
- π€ Claude Code Documentation - AI-powered code assistant documentation
- π§Ή Repository Cleanup Tools - Repository maintenance utilities
- π Self-Hosted Runner Setup - Runner deployment and management
- π³ Docker Examples - Complete Docker workflow examples
- π³ Docker Compose Examples - Docker Compose workflow examples
- π³ Dockerfile Validation Examples - Dockerfile linting examples
- π Python Examples - Python build and test examples
- π Python Release Examples - Python semantic release examples
- β‘ Zephyr Examples - Zephyr RTOS project examples
- π ESP32 Examples - ESP32 microcontroller examples
- π§ STM32 Examples - STM32 microcontroller examples
- β‘ PlatformIO Examples - PlatformIO build examples
- π¨ .NET Examples - .NET project examples
- π₯οΈ .NET Desktop Examples - .NET desktop application examples
- π¦ .NET NuGet Examples - .NET NuGet publishing examples
- π¦ Node.js Examples - Node.js project examples
- π PHP Examples - PHP project examples
- π Shopware 5 Examples - Shopware 5 plugin workflow examples
- π§ Makefile Examples - Makefile project examples
- π€ Claude Code Examples - Claude Code AI assistant examples
- π Coolify Deploy Examples - Coolify deployment examples
- π Meta Repository Examples - Meta repository sync examples
- π CI/CD Examples - General CI/CD pipeline examples
- π Documentation Examples - Documentation automation examples
- π Teams Examples - Teams notification examples
- π§Ή Cleanup Examples - Repository maintenance examples
- π Security Examples - Security workflow examples
- π Release Examples - Release workflow examples
| Need Help With | Resource | Link |
|---|---|---|
| π Bug Reports | GitHub Issues with Bug Report template | Report Bug |
| β¨ Feature Requests | GitHub Issues with Feature Request template | Request Feature |
| π οΈ Workflow Support | GitHub Issues with Workflow Support template | Get Support |
| π Documentation Issues | GitHub Issues with Documentation template | Report Doc Issue |
| π Security Vulnerabilities | Security Advisories (preferred) or Email | Security Policy |
- π¬ Discussions: GitHub Discussions - Ask questions and share ideas
- π οΈ Contributing: Contributing Guide - Learn how to contribute
- π Code of Conduct: Code of Conduct - Community standards
- π§ Enterprise Support: support@bauer-group.com
- π Support Portal: https://support.bauer-group.com
- π Project Wiki: https://github.com/bauer-group/automation-templates/wiki
- π Examples: github/workflows/examples/
- π§ Configuration Templates: .github/config/
- βοΈ Action Documentation: .github/actions/
This project is licensed under the MIT License - see the LICENSE file for details.
Generated on 2026-02-11 17:14:30 UTC from docs/README.template.MD