cool-easter-32542
07/01/2025, 10:22 AMARG DOCKER_IO_MIRROR=<http://docker.io|docker.io>
FROM $DOCKER_IO_MIRROR/dperson/samba@sha256:e1d2a7366690749a7be06f72bdbf6a5a7d15726fc84e4e4f41e967214516edfd
The same build works fine using the python parser.
Pants version
2.27.0
OS
Linux
Additional info
I have added some tests to expose the issue here: bdabelow@8311df2
Minimal repro is here: https://github.com/bdabelow/pants-repro/tree/main/rust-dockerfile-parser
Log:
> pants package ::
12:16:12.97 [INFO] Initializing scheduler...
12:16:14.87 [INFO] Scheduler initialized.
12:16:14.97 [INFO] Completed: Scheduling: Test binary /usr/bin/docker.
12:16:14.99 [INFO] Completed: Scheduling: Test binary /bin/docker.
12:16:15.01 [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.27.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.27.0/lib/python3.11/site-packages/pants/engine/internals/selectors.py", line 356, in MultiGet
return await _MultiGet(tuple(__arg0))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.27.0/lib/python3.11/site-packages/pants/engine/internals/selectors.py", line 163, in __await__
result = yield self.gets
^^^^^^^^^^^^^^^
File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.27.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.27.0/lib/python3.11/site-packages/pants/engine/internals/selectors.py", line 113, in __await__
result = yield self
^^^^^^^^^^
File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.27.0/lib/python3.11/site-packages/pants/backend/docker/goals/package_image.py", line 394, in build_docker_image
context, wrapped_target = await MultiGet(
^^^^^^^^^^^^^^^
File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.27.0/lib/python3.11/site-packages/pants/engine/internals/selectors.py", line 386, in MultiGet
return await _MultiGet((__arg0, __arg1))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.27.0/lib/python3.11/site-packages/pants/engine/internals/selectors.py", line 163, in __await__
result = yield self.gets
^^^^^^^^^^^^^^^
File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.27.0/lib/python3.11/site-packages/pants/backend/docker/util_rules/docker_build_context.py", line 384, in create_docker_build_context
return DockerBuildContext.create(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/axccu/.cache/nce/6d61748cea187199dc28418157b2121ccbbb44e4af2ee6fddf8c04bbed73f76d/bindings/venvs/2.27.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.27.0/lib/python3.11/site-packages/pants/backend/docker/util_rules/docker_build_context.py", line 186, in _get_stages_and_tags
raise DockerBuildContextError(
pants.backend.docker.util_rules.docker_build_context.DockerBuildContextError: Failed to parse Dockerfile baseimage tag for stage stage0 in // target, from image ref: <http://docker.io|docker.io>.
pantsbuild/pants