Skip to main content
Version: 0.0.2

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