Monorepo support Follow Asaf Mesika Created December 07, 2019 13:53 Some companies work with a Monorepo, which has many team on top of it. In your demo you showed that the relationship is: Team has repositories. How would that work with Monorepo case?
Martynas Petuska, sure, you can use a path filter for triggering jobs only in cases the changes appear in a certain repository directory.
Based on my conversation with jetbtains representative on KotlinConf, here are some takeaways:
- just asking about “do you plan to support monorepos” is too vague, more concrete questions yield more substantial answers
- there is nothing specific about monorepos in general that would make for a useful feature “in a vacuum”
- eg for multimodule gradle projects (probably same for any build system) users are welcome to provide their own CI capabilities in form of applications which would be plugged in as modules in imports (assuming a published library) since CI definition language is basically KotlinScript.
I’m personally very interested in this subject so if you have any specific questions, let’s start a discussion here.
I guess a good way to start is ability for a project in Space to be linked with specific directory in the repo, not just the repo itself.
@roman - can you please reRead my post? I write a very specific question which can be the start of a discussion. It does require from JetBrains though :)
It's indeed an interesting question. I would say that general monorepo repo is already in Space. What does it actually mean? It's possible to create a new project and attach an existing repository to this project.
Speaking about this scenario, it's not supported.
> ability for a project in Space to be linked with specific directory in the repo, not just the repo itself.
Any other ideas/requirements/thoughts about what can be implemented in regards to monorepo support in Space would be much appreciated.
@Asaf right, sorry, misread your post.
Something like GitHub’s CODEOWNERS.md perhaps? With support for individuals and teams?
How about CI jobs? Is it possible to map a job to particular repo directory? Can I chain jobs and only have them rebuild if something in mapped directory changed like in teamcity?
What about job chaining? Also can i declare my jobs accross multiple files or do they havd to all go in .space.kts?