3 ms·
Testing on your local machine won't catch portability issues (Linux vs macOS vs Windows, x64 vs Arm64). Unless you take great care in writing hermetic tests, t
by tetromino_ 3y ago
Testing on your local machine won't catch portability issues (Linux vs macOS vs Windows, x64 vs Arm64).
Unless you take great care in writing hermetic tests, testing on your local machine won't catch problems hidden by non-standard versions of libraries and tools in your local development environment (e.g. you installed modern versions of bash and python on your Mac, but your users are using what the OS comes with).
And for large enough projects, running tests on a single machine is simply impractical: a full test suite run on a single machine would take hours; the only solution is to shard.
- kjkjadksj 3y agoYou can set up arbitrary environments locally too.
- misnome 3y agoYeah! And set up scripts so that you don't need to remember how to do all the setup/building. And you could set up a trigger to build it when you make a commit so that you don't need to manually trigger every machine separately. And then you don't need CI!
- yoav 3y agoYou can forget to commit a file and it will work on your machine but break everything for your coworkers locally and in production. I see this class of issue often in early startups that don’t have robust CI implemented yet. Like literally once a month or more per company.