rapid-artist-48509
08/26/2025, 12:09 AMmy_image = ImageSpec(name='my_custom_image',
builder='noop',
base_image='my-custom/base-image:abc')
@task(container_image=my_image)
def create_dataframe() -> str:
return "DataFrame created successfully!"
@dynamic
def my_dynamic_workflow() -> str:
"""
This dynamic workflow calls the task.
"""
# The dynamic workflow context automatically runs this task.
result = create_dataframe()
return result
When then @dynamic
workflow runs, it tries to kick off a task
with the default flyte image instead of my my-custom/base-image:abc
image. Now clearly the image builder is not supposed to run during a Flyte execution itself (at least i see an if-guard to that effect)... but this is the no-op builder which doesn't actually need to build. So what inside the dynamic
workflow is preventing my `ImageSpec`'s image name from NOT getting reported properly?early-napkin-90297
08/26/2025, 4:04 AM@task(container_image="my-custom/base-image:abs")
?rapid-artist-48509
08/26/2025, 4:46 PMearly-napkin-90297
08/26/2025, 4:47 PMrapid-artist-48509
08/26/2025, 5:04 PMcontainer_image
has type str | ImageSpec
, but all the docs I see say to use ImageSpec? i guess because folks generally want to add new dependencies.rapid-artist-48509
08/26/2025, 5:06 PMearly-napkin-90297
08/26/2025, 5:06 PMrapid-artist-48509
08/26/2025, 5:06 PMcontainer_image
str
option, as yeah appears ImageSpec + dynamic tasks maybe not work so wellearly-napkin-90297
08/26/2025, 5:09 PMrapid-artist-48509
08/26/2025, 5:14 PMworkflow
instead of dynamic
, then i think my ImageSpec gets run as expected and the task uses the desired image. But in dynamic
, ImageBuilders not supposed to run.
I think there is still an underlying issue where ImageSpec
does too much complex stuff to decide the image name in the case of noop
builder, and so stuff will break. Perhaps this all changes in Flyte 2.0 since everything is dynamic by default.