Your CI pipeline is your gatekeeper

How do you know if a commit to your codebase is deployable?

What gives you confidence if a change will work once it's released?

This can be from manual testing but also automated testing and quality checks from tools such as static analysis and code linting.

However, this relies on every Developer running them before pushing each change and for their development environments to be consistent and matching the target environment.

This can be automated by using a CI pipeline - a series of checks that are run automatically for each code push.

This can include running automated tests, linting code and running static analysis and anything else you need.

This is what determines if the change is deployable.

If your CI pipeline passes, the commit is good can be deployed.

If it fails, the commit should not be deployed and you should get it passing again as quickly as possible as there's no value in a broken CI pipeline.