Skip to content

Latest commit

 

History

History
167 lines (124 loc) · 6.03 KB

File metadata and controls

167 lines (124 loc) · 6.03 KB

CI/CD Documentation

This directory contains documentation and tools related to the GitHub Actions CI/CD workflows in the ThemisDB repository.

Contents

Documentation

  • workflows/ - Per-Workflow-Dokumentation (217 Workflows)

    • Aufgabe und Funktionsweise jedes Workflows
    • Auslöser, Eingaben, Jobs und Schritte
    • Automatisch generiert aus den Workflow-YAML-Dateien
  • workflows-inventory.md - Complete inventory of all GitHub Actions workflows

    • Workflow metadata and configuration
    • Categorization by purpose
    • Common patterns analysis
    • Actions usage statistics
    • Auto-generated by tools/ci/analyze_workflows.py
  • consolidation-plan.md - Comprehensive consolidation strategy

    • Current state analysis
    • Target architecture design
    • Reusable workflows and composite actions
    • Phased migration plan
    • Risk assessment and mitigation strategies
  • WordPress plugin release/operations docs - currently maintained outside this folder

    • Manual release workflow inputs and validation
    • Flat/nested repository layout support
    • Tag/asset conventions for plugin-specific releases
    • Local dry-run and batch release scripts
    • End-to-end release operating procedure
    • Verification commands and failure recovery
  • ../ci/NIGHTLY_BUILD.md - Nightly Build System with automatic issue tracking

    • Automated builds across multiple platforms, compilers, and build types
    • Intelligent error parsing and categorization
    • Automatic GitHub issue creation for build failures
    • Build result aggregation and reporting
    • Comprehensive monitoring and troubleshooting guide

Tools

The workflows inventory is automatically generated using:

python3 tools/ci/analyze_workflows.py

This script:

  • Scans all workflow files in .github/workflows/
  • Parses YAML and extracts metadata
  • Analyzes patterns and dependencies
  • Generates the inventory markdown document
  • Requires only Python 3.7+ and PyYAML

Workflow Architecture (Current State)

The CI/CD pipeline was consolidated in February 2026 and documented in April 2026. The current architecture consists of 20 workflows organized in a three-tier hierarchy:

Entry Workflows (12)      ← triggered by GitHub events
  ├── Reusable Workflows (7)   ← workflow_call, parameterized
  │    └── Composite Actions (8) ← shared step sequences
  └── Composite Actions (8)

Entry Workflow Categories

Category Workflow Purpose
PR Validation ci-pull-request.yml Fast validation, build, security scan on all PRs
Main Branch ci-main-branch.yml Comprehensive build for main/develop branches
Nightly ci-nightly.yml Nightly builds, extended tests, benchmarks
Release ci-release.yml Release build, sign, publish, changelog
Security security-scan.yml CodeQL, dependency scan, SAST
Docs docs-build.yml Documentation build and GitHub Pages deploy
Performance perf-benchmark.yml GPU benchmarking and regression detection
Operations ops-automation.yml Monthly operational tasks and reviews

→ Full architecture details: ci-architecture.md

Release Process

Standard Release Workflow

  1. Prepare release branch from develop or main
  2. CI runs automatically: build, test, security scan
  3. Tag with semver: git tag v1.X.Y
  4. Release workflow triggers automatically on tag push:
    • Builds release artifacts for all platforms
    • Signs artifacts and generates checksums
    • Creates GitHub Release with CHANGELOG excerpt
    • Publishes container images to registry
  5. Post-release validation: automated smoke tests against release artifacts

Hotfix Workflow

  1. Branch from main: hotfix/vX.Y.Z
  2. Apply fix, update CHANGELOG.md
  3. PR to main (triggers CI)
  4. Tag and release (same as standard)
  5. Merge back to develop

→ Full branching strategy: ci-architecture.md
→ Git Flow guide: GIT_FLOW_QUICK_REFERENCE.md

Related Documentation

The ThemisDB repository contains additional CI/CD related documentation:

This documentation complements the existing docs by providing:

  • Complete architecture overview of the consolidated 20 workflows
  • Release and hotfix process documentation
  • Automated inventory generation tool

Quick Links

Regenerating the Inventory

To update the workflows inventory after making changes:

# From repository root
python3 tools/ci/analyze_workflows.py

# Review the updated inventory
less docs/ci-cd/workflows-inventory.md

The script will:

  1. Scan all .yml and .yaml files in .github/workflows/
  2. Parse each workflow and extract metadata
  3. Categorize workflows by purpose
  4. Analyze common patterns and dependencies
  5. Generate updated workflows-inventory.md

Contributing

When adding or modifying workflows:

  1. Follow the naming conventions in the consolidation plan
  2. Use standard permissions and concurrency settings
  3. Leverage existing composite actions and reusable workflows
  4. Update the inventory by running the analysis script
  5. Document significant changes

Migration Status

🟢 Complete - Consolidation from 53 → 20 workflows completed in February 2026.

See consolidation-plan.md for the migration history.


Last updated: May 2026