pytest_container icon indicating copy to clipboard operation
pytest_container copied to clipboard

Cut 1.0.0 release?

Open shakefu opened this issue 1 year ago • 4 comments

It looks like there's been a lot of changes since the 0.3.0 release that's available on PyPI (and tagged in this repo) - is it time to cut a 1.0.0 release? The documentation seems to be diverging significantly from the actual code on 0.3.0

shakefu avatar Jan 24 '24 20:01 shakefu

Jacob Alheid @.***> writes:

It looks like there's been a lot of changes since the 0.3.0 release that's available on PyPI (and tagged in this repo) - is it time to cut a 1.0.0 release? The documentation seems to be diverging significantly from the actual code on 0.3.0

I don't feel comfortable cutting a 1.0 release before I get rid of the dreadful MultiStageContainer class (set to be deprecated with 0.4.0). Unfortunately my tries so far went nowhere.

Could you point me at documentation discrepancies? That shouldn't happen!

dcermak avatar Jan 25 '24 16:01 dcermak

Could you point me at documentation discrepancies? That shouldn't happen!

I just meant that the docs seem to be built off main and so contain things added since the 0.3.0 cut. I think the first place I noticed it was one of the extra args params to Container(...)... can't recall off the top of my head which one.

shakefu avatar Jan 28 '24 05:01 shakefu

Ah, I understand. I'll look into integrating the doc publishing into readthedocs, that should keep previous versions around. Also, I'll try to cut a new release and work towards a 1.0. But I'd first like to get rid of the current multistage container implementation. And also find a way to test entry points better.

dcermak avatar Jan 28 '24 14:01 dcermak

I just stumbled over https://dcermak.github.io/pytest_container/api.html#pytest_container.container.Container promising extra_entrypoint_args, which was added in bb4f3e4a61f4fea17fa1e7339f07e0d74409af6b . But it's not present in the current version that you get with pip install, so there's no way to run a container with arguments.

Update: I found a hack: Start the container with entry_point=EntrypointSelection.BASH, and then run the real workload in the background with logs of shell salad:

        launcher.pod_data.container_data[1].connection.run_expect(
            [0], '(nohup minio server /data --console-address :9001 </dev/null >/tmp/minio.log 2>&1 &)')

martinpitt avatar Mar 14 '24 15:03 martinpitt