You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of #407, depends on #532 (renderer mechanism must land first so there's a configSchema shape to validate against).
Scope
In cli/validator.py, add a check: when a module instance's resolved config.image.source == "registry", config.image.tag must be a non-empty string. Emit a new diagnostic error code (next available E1xx) if missing.
Unit tests in tests/test_validator.py: missing tag under source: registry (error), tag: latest (warning present but profile still validates), and the source: build default path unaffected.
Part of #407, depends on #532 (renderer mechanism must land first so there's a
configSchemashape to validate against).Scope
cli/validator.py, add a check: when a module instance's resolvedconfig.image.source == "registry",config.image.tagmust be a non-empty string. Emit a new diagnostic error code (next availableE1xx) if missing.config.image.tag == "latest"undersource: registry, nudging toward pinned, reproducible versions per Allow modules to pull published images instead of always building locally #407's stated goal (matching the version scheme already used by.github/workflows/publish-images.yml, simplified in Remove date suffix from Docker Hub published image tags #405).README.md's error-code reference (matching the existing table style, e.g. how E103–E106 were documented for Profile composition: support layered/extended profiles to reduce duplication #175).tests/test_validator.py: missing tag undersource: registry(error),tag: latest(warning present but profile still validates), and thesource: builddefault path unaffected.Relationship
Parent issue: #407. Depends on #532.