3 ms·
I'm on a team that implemented a hybrid tag-based release system on a monorepo and it is working well. External releases are built on release branches off of m
by DrewRWx 5y ago
I'm on a team that implemented a hybrid tag-based release system on a monorepo and it is working well.
External releases are built on release branches off of main with their own git tag rules, but I want to touch on internal releases off of main.
Between feature branches and main we have GitHub status checks that gate bad PRs from getting in. Once the PRs are in main, we build a nightly full suite of components and put them through various levels of interop testing. Once our system receives the signal that all builds and interop testing had passed, it applies a Last Known Good (LKG) tag to the git commit the components were built from.
After that, various systems including artifact links for QA and auto-merge jobs from main, are set to use the LKG tag to ensure they are getting good builds and code.