Hi! How are you handling monorepos in GitHub? I ha...
# ask-community
s
Hi! How are you handling monorepos in GitHub? I have several Flows where their own repo would be maintenance overkill, so I’d like to have them in their own repo. Today we commit to git and the worker pulls from git, but we would like to use Docker moving forward. How can we achieve: • Having multiple projects in a repo, each with their own build instructions and dependencies (preferably their own isolated uv-projects) • Only deploy and build projects that have changed to avoid building all of them every time. • …preferably without writing a .yaml-file for each project?
n
here's one example that uses the python deployment interface and another based on yaml / Makefile
let me know if there's some pattern that you can't find there
note that you can put a
prefect.yaml
at root and refer to any python files in the project as well
s
Hi @Nate! Cheers for the reply, this looks good! A few questions to make sure I understand the pattern. I've never seen
just
before, but judging by the
deploy-all
command, when your github action runs, everything is deployed. 1. Will this redeploy, and build, dockerimages even if there is no change?
n
just is basically Makefile but in rust. and as written i do believe it deploys everything every time but you can make github actions only run on certain file changes and call prefect deploy $file for each changed file if you want to avoid that
s
How can we make GH only run what's changed? I haven't found anything that only deploys (runs) files from a specific folder without explicitly writing an action for each project/folder