Skip to content

Conversation

@konard
Copy link
Member

@konard konard commented Sep 12, 2025

Summary

This PR implements the UseUniformFilesWorkflow requested in issue #21, providing automated synchronization of uniform files across LinksP platform repositories.

✅ Implemented Features

  • Daily scheduled workflow (use-uniform-files.yml) that runs at 00:00 UTC to check for updates
  • Manual trigger support via workflow_dispatch for on-demand execution
  • Automatic submodule management - adds Scripts repo as submodule if not present
  • Three uniform files synchronization:
    • .gitignore - Visual Studio and VS Code ignore patterns
    • .clangformat - C++ formatting rules based on LinksP platform standards
    • .editorconfig - Comprehensive C# and editor configuration
  • Smart update detection - only commits when files actually differ
  • Freshness validation - ensures uniform files stay synchronized with source

🔄 Workflow Behavior

  1. Submodule Setup: Adds Scripts repository as submodule (if not already present)
  2. Update Check: Pulls latest changes from Scripts repository
  3. File Synchronization: Copies uniform files from Scripts to repository root
  4. Auto Commit: Creates structured commit when changes are detected
  5. Validation: Verifies all uniform files are fresh and up-to-date

📁 Files Added

  • .github/workflows/use-uniform-files.yml - The main workflow implementation
  • .clangformat - C++ code formatting configuration
  • .editorconfig - Editor and C# coding style configuration

🎯 Addresses Issue Requirements

  • .gitignore uniform file
  • .clangformat uniform file
  • .editorconfig uniform file
  • ✅ Daily scheduled trigger using cron
  • ✅ Scripts repository as "one source of truth"
  • ✅ Submodule integration for Scripts repository
  • ✅ Automatic freshness validation

💡 Usage Instructions

Other LinksP platform repositories can adopt this workflow by:

  1. Copying .github/workflows/use-uniform-files.yml to their repository
  2. The workflow will automatically handle submodule setup and file synchronization
  3. Manual runs available via GitHub Actions UI → "Use Uniform Files Workflow" → "Run workflow"

🔍 Testing

  • ✅ YAML syntax validation passed
  • ✅ Workflow structure follows LinksP platform patterns
  • ✅ File permissions and git operations verified
  • ✅ Commit message format standardized

🤖 Generated with Claude Code


Resolves #21

Adding CLAUDE.md with task information for AI processing.
This file will be removed when the task is complete.

Issue: #21
@konard konard self-assigned this Sep 12, 2025
- Add .clangformat with standard LinksP platform C++ formatting rules
- Add .editorconfig with comprehensive C# and general editor settings
- Create .github/workflows/use-uniform-files.yml workflow that:
  * Runs daily via cron schedule to check for updates
  * Supports manual triggering via workflow_dispatch
  * Adds Scripts repository as submodule if not present
  * Updates Scripts submodule to latest version
  * Synchronizes uniform files (.gitignore, .clangformat, .editorconfig)
  * Creates commits when files are updated
  * Validates that uniform files are fresh/up-to-date

This implements the "one source of truth" approach where Scripts repository
contains the canonical versions of uniform files, and other repositories
use this workflow to stay synchronized.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@konard konard changed the title [WIP] Create Create UseUniformFilesWorkflow for automated uniform files synchronization Sep 12, 2025
@konard konard marked this pull request as ready for review September 12, 2025 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create UseUniformFilesWorkflow

2 participants