Skip to content

Renovate detects no dependencies in compose.yml.tftpl #263

@noahwhite

Description

@noahwhite

Bug Summary

Renovate's docker-compose manager fails to detect any packages in compose.yml.tftpl, reporting "None detected" in the Dependency Dashboard (issue #232). The fileMatch regex is correct but the manager silently fails to extract packages, likely due to the Terraform template syntax ($${...}) in the file confusing the YAML parser.


✅ Acceptance Criteria

  • Renovate Dependency Dashboard shows all 5 tracked images as detected dependencies
  • Renovate creates a PR when ghost/traffic-analytics (currently 1.0.12, upstream 1.0.148) or any other tracked image has a newer version available
  • PR uses feature/renovate- branch prefix, targets develop, and is assigned to noahwhite

📝 Additional Context

Root cause: The docker-compose manager uses a YAML parser that chokes on Terraform template syntax in .tftpl files. "None detected" despite correct fileMatch is the symptom.

Fix: Replace the docker-compose manager with a customManagers regex approach that bypasses YAML parsing entirely. The regex matches digest-pinned image lines directly:

image: (?<depName>[^:\s$]+):(?<currentValue>[^@\s]+)@(?<currentDigest>sha256:[a-f0-9]+)

This correctly matches all 5 pinned images and skips ghost:${GHOST_VERSION:-6-alpine} (no digest).

Tracked images:

  • caddy
  • mysql
  • ghost/traffic-analytics
  • ghcr.io/tryghost/activitypub
  • ghcr.io/tryghost/activitypub-migrations

✅ Definition of Done

  • All acceptance criteria met
  • Renovate Dependency Dashboard updated after next run
  • No regressions to existing Renovate behavior (GitHub Actions tracking still works)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions