Skip to content

Ecosystem vcpkg distribution readiness improvements #531

Description

@kcenon

What

Comprehensive improvements to ensure all 8 kcenon ecosystem libraries are fully ready for vcpkg distribution via a custom registry.

Current State

System vcpkg Manifest CMake Export CI Health Config Naming
common_system v0.2.0 ⚠️ Doc CI PascalCase
thread_system v0.3.1 kebab-case
logger_system v0.1.3 ⚠️ Doc CI kebab-case
container_system v0.1.0 ⚠️ Doc CI kebab-case
monitoring_system v0.1.0 ⚠️ Doc CI kebab-case
database_system v0.1.0 ⚠️ Doc+OSV CI kebab-case
network_system v0.1.1 ⚠️ Doc CI kebab-case
pacs_system v0.1.0 PascalCase

Gaps Identified

  1. Generate-Documentation CI startup_failure in 6 repos — missing permissions: contents: write in caller workflow
  2. monitoring_system CMake config template missing ecosystem-standard polish (header docs, compatibility variables, temp variable cleanup)
  3. Config.cmake.in naming inconsistency: common_system and pacs_system use PascalCase, others use kebab-case

Why

  • CI failures on every push/PR reduce confidence in release quality and block documentation deployment to GitHub Pages
  • Inconsistent config templates complicate downstream consumer experience and tooling
  • Naming inconsistency creates confusion for contributors navigating multiple repos
  • These are the final polish items before establishing a custom vcpkg registry for unified package consumption

Where

Area Repos Affected
CI workflow (build-Doxygen.yaml) common_system, logger_system, container_system, monitoring_system, database_system, network_system
CMake config template monitoring_system
Config.cmake.in naming common_system, pacs_system

How

Sub-Issues

Phase 1 — CI Fix (parallel across 6 repos)

Phase 2 — CMake Polish (parallel)

Acceptance Criteria

  • All 8 repos have green CI on main branch
  • monitoring_system config template includes header docs, compatibility variables, and temp variable cleanup
  • All Config.cmake.in files use consistent kebab-case naming
  • find_package() works correctly for all 8 systems after changes

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions