Skip to main content
Version: Next

Additional CI Workflows

This document covers the specialized CI workflows that support specific aspects of the Python uv template project beyond the main continuous integration and release processes.

Overview

The project includes several specialized CI workflows that handle specific operational tasks:

  • 🐳 Docker CI - Container image building and testing
  • 📋 DockerHub README CI - Repository description synchronization
  • 📚 Documentation Build Check - Validates documentation builds on PRs and branch changes
  • 🤖 Documentation Auto-Approve & Auto-Merge - Streamlined docs updates

Docker CI

docker-ci

The docker-ci.yml workflow tests Docker image building and functionality.

Triggers:

  • Push to master: When Docker-related files change
    • GitHub Actions workflow files
    • Python source code (src/**/*.py)
    • Dockerfile and Docker scripts

Purpose: Validates Docker image builds and containerized application functionality.

Key Features:

  • Validates Docker image build process
  • Tests containerized application functionality
  • Ensures Docker configuration correctness
  • Separate from the main release Docker builds

DockerHub README CI

dockerhub-readme-ci

The dockerhub-readme-ci.yml workflow updates the Docker Hub repository description.

Triggers:

  • Push to master: When README_DOCKERHUB.md is modified
  • Workflow file changes: When the DockerHub README workflow itself is updated

Purpose: Keeps Docker Hub repository description synchronized with the documentation.

Key Features:

  • Automatic synchronization of Docker Hub repository description
  • Triggered by changes to Docker-specific documentation
  • Maintains consistency between repository and registry documentation

Documentation Build Check

Documentation Build Check

The docs-build-check.yaml workflow validates that documentation builds successfully whenever documentation-related files are modified.

Triggers:

  • Pull Requests: Any PR that modifies documentation files
  • Push Events: All branches except master (to avoid conflicts with the main documentation deployment workflow)
  • Path Monitoring: Automatically detects changes to documentation content, configuration, and dependencies

Purpose: Ensures documentation builds successfully before merging changes, preventing broken documentation deployments.

Key Features:

  • Comprehensive Path Monitoring - Watches all documentation-related files including content, configuration, dependencies, and assets
  • Fast Build Validation - Uses optimized setup with shallow clones and dependency caching for quick feedback
  • Build Quality Checks - Validates build output, critical files, and provides detailed build statistics
  • TypeScript Validation - Runs type checking to catch configuration errors early
  • Concurrency Control - Cancels in-progress runs for the same PR/branch to save resources
  • Detailed Reporting - Provides comprehensive build summaries in GitHub Actions interface

Build Process:

  1. Environment Setup: Node.js 22 + pnpm 10 (matching production deployment)
  2. Dependency Installation: Uses frozen lockfile for consistency
  3. Type Checking: Validates TypeScript configuration and content
  4. Documentation Build: Executes full Docusaurus build process
  5. Quality Validation: Checks build artifacts and critical files
  6. Build Reporting: Provides detailed statistics and status summary

Path Coverage:

  • CI workflow configurations (.github/workflows/docs-build-check.yaml, documentation.yaml)
  • Dependencies (package.json, pnpm-lock.yaml)
  • Configuration files (docusaurus.config.ts, tsconfig.json)
  • Content files (.md, .mdx, .ts, .tsx, .js, .jsx, .css)
  • Versioned content and sidebars
  • Static assets and source files

Safety Mechanisms:

  • Prevents conflicts with main documentation deployment workflow
  • Uses frozen lockfile installation for reproducible builds
  • Validates critical files existence (index.html, 404.html)
  • Provides warnings for potential build issues
  • Includes comprehensive error reporting and debugging information

Documentation Auto-Approve & Auto-Merge

Docs-only auto-approve & automerge

The docs-automerge.yml workflow automatically approves and merges pull requests that only contain documentation changes. This streamlines the process for documentation updates.

Triggers:

  • Pull requests to master: For PRs containing only documentation changes
  • PR events: opened, reopened, synchronize, ready_for_review

Purpose: Accelerates documentation updates by automating approval and merge for docs-only changes.

Key Features:

  • Intelligent detection of documentation-only changes
  • Automated approval and merge for qualifying PRs
  • Safety checks to ensure only documentation files are modified
  • Streamlined workflow for maintaining up-to-date documentation

Safety Mechanisms:

  • Validates that PR contains only documentation file changes
  • Requires all status checks to pass before auto-merge
  • Maintains audit trail of automated actions

Workflow Integration

These additional CI workflows integrate with the main CI/CD system:

Integration Points:

  • Docker CI → Validates containers before release workflows
  • DockerHub README → Ensures registry documentation stays current
  • Documentation Build Check → Validates docs builds on PRs to prevent broken deployments
  • Docs Auto-merge → Accelerates documentation maintenance

Monitoring and Maintenance:

  • All workflows include status badges for easy monitoring
  • Failed workflows trigger notifications for immediate attention
  • Regular review ensures workflows stay aligned with project needs