A proof of concept exploring monorepo builds in CodeBuild / CodeDeploy from a GitHub repository. This repository builds off the ideas described in this blog post, but implements them in CloudFormation.
The infra/create-pipeline.sh
creates the pipeline (for the first time). To create the pipeline,
execute the following:
shell$ cd infra && ./create-pipeline.sh <a github personal access token>
The infra/update-pipeline.sh
updates the existing stack for the pipeline.
This monorepo contains four "packages":
foo
andbar
, two librariesmain1
andmain2
, two main programs that each depend onfoo
andbar
The pipeline is setup for main1
and only triggers when there are updates
to files under packages/(foo|bar|main1)
. Changes to main2
(alone) does
not trigger the pipeline.
The pipeline currently just listens to GitHub PUSH
events on master, so builds
are only triggered when pushing to master.