One of the most frustrating, because hardest to fix, problems is when you have a PR which works on your machine, but it fails on CI on a different architecture. (Typically darwin.) Latest example: rabbitmq-server: switch to python3 by armeenm · Pull Request #169684 · NixOS/nixpkgs · GitHub
I don’t know what to do there. I’m on a x86_64-linux, without a darwin machine I could use to debug. Debugging by pushing onto the branch and using CI takes forever and uses a lot of precious resources (darwin runners). Bisecting & testing small changes is impossible that way. Just merging without understanding what happened is also not ok in my opinion.
Is it possible to easily emulate other architectures somehow? Is there a framework to do that?
I have the feeling this happens a lot, and not just to me. A lot of PR progress is impeded by “I don’t have a darwin machine to test, no idea what’s wrong here”.