Skip to content

Conversation

@dedeswim
Copy link
Contributor

@dedeswim dedeswim commented Dec 9, 2025

This PR fixes some issues that I encountered when running SWE-bench using Docker instead of Podman, as it looks like Docker struggles with heredocs within RUN steps. So we encode the content to be written to file to base64 (and decode it before writing).

@evtimovi can you please try to run the integration tests with Podman? On my own machine I have Docker so I can't test it

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Meta Open Source bot. label Dec 9, 2025
@evtimovi
Copy link
Contributor

evtimovi commented Dec 9, 2025

@dedeswim All tests pass! But I would recommend you add tests specific to the functionality you found buggy as well. I agree, hex strings are a pain and it would be good to have those tests in case we implement different docker clients with different ways to pass arguments or files to and from the container.

Copy link
Contributor

@evtimovi evtimovi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dedeswim All tests pass! But I would recommend you add tests specific to the functionality you found buggy as well. I agree, hex strings are a pain and it would be good to have those tests in case we implement different docker clients with different ways to pass arguments or files to and from the container.

@dedeswim
Copy link
Contributor Author

dedeswim commented Dec 9, 2025

@evtimovi I am not really sure we can add tests for this as this behavior was specific for Docker and I don't really know how we can test this? Also, these are specific to tasks, and the existing tests are exactly how I found about this issue. It's not a general thing for Siren I believe

@evtimovi
Copy link
Contributor

@dedeswim Hmm, it seems like the more general issue here that is not specific to tasks is this (from a comment in the changes):

Uses base64 encoding to avoid issues with heredocs in Dockerfiles.
        Dockerfile RUN commands don't properly handle multi-line heredocs
        because each line is parsed independently.

So we could add tests where we need to pass multi-line heredocs to simple/dummy Dockerfiles, no?

Copy link
Contributor

@evtimovi evtimovi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From a side conversation it sounds like the existing tests were already failing here with Docker before this test, so let's merge!

@dedeswim
Copy link
Contributor Author

fyi @evtimovi I can't merge this myself. I think you have to do it

@evtimovi evtimovi merged commit 12869b5 into facebookresearch:main Dec 14, 2025
18 checks passed
@evtimovi
Copy link
Contributor

Ahh sorry - I thought approving was enough to let you merge! Done now!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants