Skip to content

ADR 006: Implement Platform Inventory Scanner

  • Status: Superseded
  • Date: 2026-02-17
  • Author: Victoria Cheng

Context and Problem Statement

As the number of reusable platform actions grows, and as these actions are adopted across various repositories, it becomes critical for platform engineering to gain visibility into their usage. Understanding which repositories use which actions, and at what versions, is essential for managing "Platform Debt," planning migrations, assessing adoption rates, and providing targeted support. Without this insight, platform evolution can lead to fragmentation and increased maintenance burden.

Decision Outcome

Implement a platform-inventory-scanner as a scheduled script that audits repositories (within a specified GitHub organization or for the user associated with the token) for usage of victoriacheng15hub/platform-actions and other specified GitHub Actions. The scanner will identify action names and versions used in workflow files. The core logic will be a Python or Go script executed by a dedicated GitHub Actions workflow.

Consequences

Positive

  • Enhanced Visibility: Clear understanding of platform action adoption across the organization.
  • Improved Management: Facilitates proactive communication for deprecations, updates, and migrations.
  • Reduced Platform Debt: Enables identification and remediation of outdated action usages.
  • Data-Driven Decisions: Provides metrics for platform evolution and resource allocation.

Negative

  • API Token Management: Requires careful management of a GitHub API token with sufficient permissions.
  • Rate Limiting: May encounter GitHub API rate limits if not carefully designed.
  • Initial Setup Overhead: Requires setup of the scanner script and its dedicated workflow.

Verification

  • [ ] Report Generation: The scanner successfully generates an inventory report (e.g., JSON, Markdown) containing action usage data.
  • [ ] Accuracy: The report accurately reflects the action versions in use in targeted repositories.
  • [ ] Scheduled Execution: The dedicated workflow successfully runs the scanner on a defined schedule.