Poetry installation with hermit
Motivation
We use poetry for running integration tests written in python. Poetry have to be installed separately and doesn't include in hermit. Also, it's installation is not trivial and it has to be installed with a specific python version 3.9 (not sure why). Therefore, its installation repeats more than once in our CI, and developers have to install it manually.
Definition of done
- [ ] Add poetry to hermit as cloudbeat dependency (not trivial)
- [ ] Remove poetry installation from our testing setup
- [ ] Remove poetry installation documentation
Out of scope
Related tasks/epics
Reference related issues and epics
Note: poetry has a "CI recommendations" section on its website: https://python-poetry.org/docs/#ci-recommendations
Additionally, it might be quite challenging to add a hermit package for poetry as hermit packages mostly just describe how to download a released binary. I think non-trivial installation commands are not supported.
I agree that adding poetry as a hermit package is not trivial just from first glance. However, poetry's "CI Recommendations" is what we have so far and we are still not happy about it. (code duplication, manual setup for developers)
Maybe we can start with a discussion here about the desired setup and take it from there.
I wonder how easy it is to have our own all-in-one github action that roughly does the following:
- Checkout repo
- Set up hermit
- Set up go + caching
- Build cloudbeat
- (optional, based on args) set up poetry
- (optional, based on args) run necessary
docker builds + cache - (optional, based on args) set up elasticsearch (can also be a service container, don't know pros/cons)
Still doesn't solve the manual setup for devs but I am not convinced we can avoid that.