How do you ensure you or your contributors didn’t forget to run the tests?

You’d need at least some hash of sources + test results, and check that it matches that (in CI).

And you’d still deal with environment differences.

> How do you ensure you didn’t forget to run the tests?

Reasonable concern. In ~10 years of indy development, I haven't forgotten to run tests before pushing to main, ever. So setting up and maintaining complicated machinery to solve a problem that could (but never has) happened doesn't justify taking focus off other more important things, namely building.

The benefit probably increases with team size (I'm a team of 1, so I appreciate the luxury of being able to dodge CI/CD entirely).