<#22108 2.25.0 Fails building OCI image with base ...
# github-notifications
c
#22108 2.25.0 Fails building OCI image with base image referenced by digest Issue created by bdabelow Describe the bug When a Dockerfile references the base image by digest, pants fails to parse the Dockerfile, both with the current (Python) and new (Rust) parsers. Pants version 2.25.0 OS Linux Additional info # pants.toml [GLOBAL] pants_version = "2.25.0" backend_packages = [ "pants.backend.docker", ] [dockerfile-parser] use_rust_parser = false [python] interpreter_constraints = ['==3.13.*'] # BUILD docker_image() # Dockerfile FROM docker.io/alpine@sha256:a8560b36e8b8210634f77d9f7f9efd7ffa463e380b75e2e74aff4511df3ef88c
Copy code
> pants --print-stacktrace package ::
14:49:48.66 [INFO] Initializing scheduler...
14:49:48.78 [INFO] Scheduler initialized.
14:49:50.14 [ERROR] 1 Exception encountered:

Engine traceback:
  in root
    ..
  in pants.core.goals.package.package_asset
    `package` goal

Traceback (most recent call last):
  File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.25.0/lib/python3.11/site-packages/pants/core/goals/package.py", line 195, in package_asset
    packages = await MultiGet(
               ^^^^^^^^^^^^^^^
  File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.25.0/lib/python3.11/site-packages/pants/engine/internals/selectors.py", line 367, in MultiGet
    return await _MultiGet(tuple(__arg0))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.25.0/lib/python3.11/site-packages/pants/engine/internals/selectors.py", line 174, in __await__
    result = yield self.gets
             ^^^^^^^^^^^^^^^
  File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.25.0/lib/python3.11/site-packages/pants/core/goals/package.py", line 146, in environment_aware_package
    package = await Get(
              ^^^^^^^^^^
  File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.25.0/lib/python3.11/site-packages/pants/engine/internals/selectors.py", line 124, in __await__
    result = yield self
             ^^^^^^^^^^
  File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.25.0/lib/python3.11/site-packages/pants/backend/docker/goals/package_image.py", line 391, in build_docker_image
    context, wrapped_target = await MultiGet(
                              ^^^^^^^^^^^^^^^
  File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.25.0/lib/python3.11/site-packages/pants/engine/internals/selectors.py", line 397, in MultiGet
    return await _MultiGet((__arg0, __arg1))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.25.0/lib/python3.11/site-packages/pants/engine/internals/selectors.py", line 174, in __await__
    result = yield self.gets
             ^^^^^^^^^^^^^^^
  File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.25.0/lib/python3.11/site-packages/pants/backend/docker/util_rules/docker_build_context.py", line 382, in create_docker_build_context
    return DockerBuildContext.create(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.25.0/lib/python3.11/site-packages/pants/backend/docker/util_rules/docker_build_context.py", line 137, in create
    stage_names, tags_values = cls._get_stages_and_tags(
                               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.25.0/lib/python3.11/site-packages/pants/backend/docker/util_rules/docker_build_context.py", line 171, in _get_stages_and_tags
    for idx, (stage, tag) in enumerate(stage_tags):
             ^^^^^^^^^^^^
ValueError: not enough values to unpack (expected 2, got 1)
Build with 2.24.2 is successful. Build is successful with: # Dockerfile FROM docker.io/alpine:latest I can look into creating a PR if someone could give me some pointers. pantsbuild/pants