Skip to content

Centralized, reusable automation templates for CI/CD pipelines across all BAUER GROUP projects. Designed for GitHub Actions with a focus on scalability, maintainability, and consistency.

License

Notifications You must be signed in to change notification settings

bauer-group/automation-templates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2,134 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

BAUER GROUP - Automation Templates

Overview

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:

πŸ”„ CI/CD πŸ“„ Documentation πŸ›‘οΈ Security Policy

πŸ“‹ Project Resources

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/

πŸ›‘οΈ Security Scanning

Comprehensive Security Action

- 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 }}

Individual Engines

Gitleaks (Open Source)

- name: ⚑ Fast Secrets Scan
  uses: gitleaks/gitleaks-action@v2
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

GitGuardian (Enterprise)

- name: πŸ›‘οΈ Advanced Security Scan
  uses: GitGuardian/ggshield-action@v1
  with:
    api-key: ${{ secrets.GITGUARDIAN_API_KEY }}
    args: secret scan path .

πŸ“¦ Release Management

Automatic Release Workflow

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 }}

πŸ—οΈ Repository Structure

β”œβ”€β”€ .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

🧩 Automation Systems Overview

This repository provides comprehensive automation systems for modern software development, featuring modular and reusable components for different technology stacks.

🐳 Docker Build System

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 }}

🐍 Python Semantic Release System

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 }}

πŸ›‘οΈ Security & Compliance System

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

⚑ Zephyr RTOS Build System

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: true

πŸ“Ÿ ESP32 Build System

Complete 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') }}

πŸ”§ STM32 Build System

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: true

⚑ PlatformIO Build System

Complete 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') }}

πŸ›’ Shopware 5 Plugin Build System

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.php in src/Backend/PluginName or src/Frontend/PluginName
  • Modern (v5.2+): composer.json, PSR-4 autoloading in src/PluginName

πŸ”„ Meta Repository Sync System

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: true

Configuration 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-"
    }
  ]
}

πŸ—οΈ Additional Build Systems

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 -

πŸ€– Claude Code AI Assistant

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 }}

πŸ”§ Utility & Management Systems

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

πŸ“‹ Repository Management Workflows

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.

πŸ”§ Configuration

Security Engine Configuration

Gitleaks Configuration (.gitleaks.toml)

[extend]
useDefault = true

[allowlist]
paths = [
  ".git/**",
  "node_modules/**",
  "vendor/**"
]

regexes = [
  '''password\s*=\s*["']?(test|demo|example)["']?''',
  '''key\s*=\s*["']?(your[_-]?key[_-]?here)["']?'''
]

GitGuardian Configuration (.gitguardian.yaml)

version: 2

paths-ignore:
  - .git/**
  - node_modules/**
  - vendor/**
  
secret:
  minimum-severity: medium
  ignore-known-secrets: false
  
policies:
  all-policies: true

Commit Lint Configuration

.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]
  }
};

πŸš€ Getting Started

Quick Setup

  1. Use as template repository:

    gh repo create my-project --template bauer-group/automation-templates
    cd my-project
  2. 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/
  3. 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"
  4. 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

Quick Examples by Technology

🐳 Docker Project Setup

# .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 }}

🐍 Python Project Setup

# .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 }}

⚑ Zephyr RTOS Project Setup

# .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 }}

Using Individual Actions

🐳 Docker Build Action

- 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

🐍 Python Setup Action

- name: Setup Python Environment  
  uses: actions/setup-python@v5
  with:
    python-version: '3.12'
    package-manager: 'poetry'
    cache-enabled: true
    install-dependencies: true

πŸ›‘οΈ Security Scanning Action

- 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 }}

⚑ Zephyr Build Action

- 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'

πŸ”„ Best Practices

Security

  • 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

Release Management

  • 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

Documentation

  • 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

πŸƒ Self-Hosted Runner Support

All reusable workflows support self-hosted GitHub Actions runners, allowing organizations to run workflows on their own infrastructure.

Configuration

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"]'

Input Formats

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

Benefits

  • 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.

πŸ›οΈ Enterprise Features

Multi-Repository Management

# 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'

Policy Enforcement

  • 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

πŸ“Š Repository Management Tools

Branch Protection

# 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

Repository Cleanup

# Clean up stale branches and releases
cd github/cleanup
python github_cleanup.py \
  --organization "your-org" \
  --cleanup-branches \
  --cleanup-releases \
  --dry-run

Self-Hosted Runner Management

# Deploy self-hosted runners
cd github/runner
docker-compose up -d

# Scale runners based on load
./scripts/manage.sh scale --instances 5

πŸ”§ Troubleshooting

Common Issues

  1. Security scan failures: Check scan configuration and token permissions
  2. Release automation issues: Validate commit format and semantic-release configuration
  3. Workflow permissions: Ensure proper GITHUB_TOKEN permissions
  4. Template rendering: Verify all required variables are provided

Debug Commands

# 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

πŸ“š Comprehensive Documentation

πŸš€ Workflow Systems Documentation

πŸ” Validation Modules

πŸ”§ Actions Documentation

Build Actions

Security & Compliance Actions

AI & Automation Actions

Utility Actions

πŸ“‹ Configuration References

πŸ› οΈ Repository Management Tools

πŸ“– Examples and Templates

πŸ“ž Support & Community

πŸ†˜ Getting Help

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

🀝 Community

πŸ“– Documentation

πŸ“„ License

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

About

Centralized, reusable automation templates for CI/CD pipelines across all BAUER GROUP projects. Designed for GitHub Actions with a focus on scalability, maintainability, and consistency.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 7