tmt icon indicating copy to clipboard operation
tmt copied to clipboard

`scripts/bootstrap` to rule them all

Open abitrolly opened this issue 1 year ago • 4 comments

make is not available by default in Fedora containers, so use scripts/bootstrap to get all the stuff ready.

Pull Request Checklist

  • [x] implement the feature
  • [x] write the documentation
  • [ ] extend the test coverage
  • [ ] update the specification
  • [ ] adjust plugin docstring
  • [ ] modify the json schema
  • [ ] mention the version
  • [ ] include a release note

abitrolly avatar Dec 06 '24 10:12 abitrolly

Not sure what the state of this would be. I think it would be more helpful to understand what is the end-goal here. E.g. is this meant to prepare a minimum environment, in which case, I would say this is not needed and the developer should use whatever they prefer pip install -e, uv, etc. Is it supposed to be a complete environment, in which case it should do a dnf install tmt+all and override the non-python dependencies with a venv.

I would personally prefer instead to provide developer containers and setup something like .devcontainer to advertise that workflow. This would allow us to specify more explicitly what environment we are setting up for the developer.

LecrisUT avatar Nov 11 '25 16:11 LecrisUT

@LecrisUT the end goal is to quickly run the new project in isolation to see how it works and if it could be patched. Without spending like hours on browsing documentation.

.devcontainer is strictly VS Code thing, no? I don't know how it works and what kind of isolation it provides.

abitrolly avatar Nov 20 '25 08:11 abitrolly

@LecrisUT the end goal is to quickly run the new project in isolation to see how it works and if it could be patched. Without spending like hours on browsing documentation.

Unfortunately the bootstrap script would go against such isolation. Seems like a first-party container would be better?

.devcontainer is strictly VS Code thing, no? I don't know how it works and what kind of isolation it provides.

Jetbrains also recognizes it (though it didn't play well with podman as late as last year when I tested it). But it's basically just a fancy wrapper around containerfiles that some ides recognize for bootstrapping development environments.

LecrisUT avatar Nov 20 '25 20:11 LecrisUT

Unfortunately the bootstrap script would go against such isolation. Seems like a first-party container would be better?

Which container? podman, docker, firecracker, kubernetes... At least I know how to run stuff in my container.

abitrolly avatar Nov 21 '25 02:11 abitrolly