Well, I’m currently writing a service and frontend, both in C# (Blazor for the UI), and using docker-compose to build and deploy them to a Raspberry Pi running Linux. So not only cross-platform, but cross-architecture as well.
This is not a new thing either. Since .NET Core was released almost 10 years ago, it has supported cross platform development.
As others have said, 100% a leak.
I would advise to stand on a chair or stepladder underneath the ceiling and check to see if it is still level. If you see an obvious deformation around the stain, this will be being caused by water pooling on top of the ceiling plasterboard. In which case, once the leak is sorted, you will likely need to drain the pooled water, cut out the damaged section, replace it, then replaster and repaint.
We had exactly the same issue in our last house. It was in a difficult to see spot hidden behind our kitchen cabinets. We only realised the severity of the issue when the ceiling boards gave way and fell on my head.