Add debug logging to resolve_dependencies

This commit is contained in:
Mondo Diaz
2026-01-30 17:21:04 -06:00
parent 76878279e9
commit 7c05360eed

View File

@@ -10,8 +10,11 @@ Handles:
- Conflict detection - Conflict detection
""" """
import logging
import re import re
import yaml import yaml
logger = logging.getLogger(__name__)
from typing import List, Dict, Any, Optional, Set, Tuple from typing import List, Dict, Any, Optional, Set, Tuple
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from sqlalchemy import and_ from sqlalchemy import and_
@@ -659,9 +662,12 @@ def resolve_dependencies(
CircularDependencyError: If circular dependencies are detected CircularDependencyError: If circular dependencies are detected
DependencyConflictError: If conflicting versions are required DependencyConflictError: If conflicting versions are required
""" """
logger.info(f"resolve_dependencies: project={project_name}, package={package_name}, ref={ref!r}")
# Resolve the initial artifact # Resolve the initial artifact
project = db.query(Project).filter(Project.name == project_name).first() project = db.query(Project).filter(Project.name == project_name).first()
if not project: if not project:
logger.warning(f"resolve_dependencies: project '{project_name}' not found")
raise DependencyNotFoundError(project_name, package_name, ref) raise DependencyNotFoundError(project_name, package_name, ref)
package = db.query(Package).filter( package = db.query(Package).filter(
@@ -669,13 +675,21 @@ def resolve_dependencies(
Package.name == package_name, Package.name == package_name,
).first() ).first()
if not package: if not package:
logger.warning(f"resolve_dependencies: package '{package_name}' not found in project '{project_name}'")
raise DependencyNotFoundError(project_name, package_name, ref) raise DependencyNotFoundError(project_name, package_name, ref)
logger.info(f"resolve_dependencies: found package id={package.id}")
# Try to find artifact by tag or version # Try to find artifact by tag or version
resolved = _resolve_dependency_to_artifact( resolved = _resolve_dependency_to_artifact(
db, project_name, package_name, ref, ref db, project_name, package_name, ref, ref
) )
if not resolved: if not resolved:
# Debug: list available tags
from .models import Tag
tags = db.query(Tag).filter(Tag.package_id == package.id).limit(5).all()
tag_names = [t.name for t in tags]
logger.warning(f"resolve_dependencies: artifact not found for ref={ref!r}. Sample tags: {tag_names}")
raise DependencyNotFoundError(project_name, package_name, ref) raise DependencyNotFoundError(project_name, package_name, ref)
root_artifact_id, root_version, root_size = resolved root_artifact_id, root_version, root_size = resolved