Fork me on GitHub

I was curious with polyith and having multiple repos how do people manage ci ? do you rebuild all projects on a release or is there a way to detect certain changes and trigger a specific build on those changes ?


You can detect which projects that have changed since the last release. You either tag the whole repo/workspace or each projects individually. This is described in the section.


Okay thanks I will check that out, I obviously never made it to the CI section 🙂

đź‘Ť 2

trying out the poly tool is there a way to create sub folders, so perhaps components/apis/src/gcp/biquery/bq.clj and then components/apis/src/gcp/kuberentes/kengine.clj layout or would you put them all at a top level ?


The poly tool does not support sub folders as far as I know. All the components live in the same level.


Yes, all components live at the same level.


I did wonder if that was a limitation of the tool,


poly create component name:apis/gcp/bigquery
That sort of works, give you /components/apis/gcp/bigquery/src/com/example/apis/gcp/bigquery


That command should not be allowed (I will create an issue) and it doesn’t work either, because it will create an apis directory under the components directory that doesn’t contain a deps.edn config file, which is mandatory for components. Components are only recognised if they live directly under the components directory.


okay, well the structure was not what I wanted


I was hoping I could do more fine grained groupings so I could put all remote apis under an apis folder instead of at top level, instead of have like 20 components at the root which are all different apis


then perhaps another one for stores so put redis sql and other db components under that group


or is there another way to achieve the same ? or perhaps I am doing it wrong and misunderstanding where to place it 🙂


We reached to 91 Polylith components at work at the moment. We did not feel the need of such grouping. It’s easier to refer to a component by it’s name, anyone can find where it is without requiring to know a pre-defined hierarchical structure. Although, it’s good to mention that naming becomes very important. We did several refactoring because we were not happy with some of the naming. However, it is very easy to do refactoring in a Polylith workspace!


fair enough although I quite like using the path / namespace to convey information, I guess I acould use dashes so api-gcp-bigquery or similar


Yeah, some examples from our project does that:


okay great thanks for the examples