An example monorepo for a golang with CircleCI
Building in CircleCI:
- Add your project
- Under your user settings, create a "Personal API Token"
- Under the project settings, add an environment var "CIRCLE_TOKEN" with the personal API token
To add a service:
- Create a new directory with the code
- Add it to .circleci/config.yml
- Add it to project-dirs
How does it work?
Everytime you commit a change, it finds the modified files, identifies which directories they reside in, adds dependant directories and calls CircleCI APIs to run builds for these directories.
Docker image used for build and test: