Course Compose is a course-review website tailored for Stamford students, providing a platform for sharing and discovering insights about various courses
when new changes are merged into main, dev.yaml triggers
the pipeline setup all the dependencies, and use turbo run build --filter=...[origin/main] which retrieves the package name that have been changed when compared to the main branch
the pipeline uses jq to convert the resulting array into json with the following format
the pipeline triggers another workflow (deploy-ghcr.yaml) which will build a docker image from specified package and upload to GitHub Container Register with the tag specified in step 3
Folder restructure
move the backend services one directory up (it was previously /apps/backend/<service>, now it is /apps/<service>
each service will contain a Dockerfile which will be used by the ci pipeline
each service will contain a package.json so turbo includes that service into the workspace
CI Pipeline
dev.yaml
triggersturbo run build --filter=...[origin/main]
which retrieves the package name that have been changed when compared to the main branchdeploy-ghcr.yaml
) which will build a docker image from specified package and upload to GitHub Container Register with the tag specified in step 3Folder restructure
/apps/backend/<service>
, now it is/apps/<service>