conda-forge / erlang-feedstock

A conda-smithy repository for erlang.
BSD 3-Clause "New" or "Revised" License
0 stars 11 forks source link

aarch64 build: native or cross-compiled? #161

Open danielhollas opened 1 month ago

danielhollas commented 1 month ago

Originally posted by @jakirkham in https://github.com/conda-forge/erlang-feedstock/issues/160#issuecomment-2125634558

Unfortunately the native builds currently use Travis CI. Recently Travis CI has become completely unusable to me. I cannot get the webpage to work at all. It's totally frozen as soon as I login. Have raised an issue with them, but it hasn't gone anywhere (it has been this way for almost a month).

In addition Travis CI has had issues where jobs won't start or get stuck. When I could use their page, I was able to restart them. Still not a great solution as it would be better not to have flaky builds at all. Though at least I had some ability to resolve the issue on my own. Now I am not able.

So while I understand cross-compilation can introduce its own extra complications, the Azure service it runs on has been consistently reliable. So feel I have a better chance at supporting that. With Travis, I cannot promise anything.

If you are willing to add yourself as a maintainer and you are able to restart Travis CI builds when they have issues, then we could work this out. If not, then I would prefer that we get the cross-compilation solution working on Azure.

danielhollas commented 1 month ago

@jakirkham I've create an issue so that this discussion is not lost in the PR. I'll reply in detail tomorrow since it is getting late here. Thanks for bearing with me and shepherding this forward! :pray:

danielhollas commented 3 weeks ago

Hi @jakirkham,

In addition Travis CI has had issues where jobs won't start or get stuck. When I could use their page, I was able to restart them. Still not a great solution as it would be better not to have flaky builds at all. Though at least I had some ability to resolve the issue on my own. Now I am not able.

Good to know, that is unfortunate. I did notice that the Travis CI job took a while to start.

So while I understand cross-compilation can introduce its own extra complications, the Azure service it runs on has been consistently reliable. So feel I have a better chance at supporting that. With Travis, I cannot promise anything.

My main goal was to get more confidence for the build. The bootstrap and cross-compilation was quite finicky to setup and given that this is such a foundational package, language runtime and compiler (and one that I am not at all familiar with), I was worried that it might get misscompiled and we'll release a broken package.

But since then, I've managed to get the test suite working on CI after the cross-compiled build, and I also was able to test on real hardware. So I am a bit more confident now. And if we mess up we can hopefully fix it quickly.

If you are willing to add yourself as a maintainer and you are able to restart Travis CI builds when they have issues, then we could work this out. If not, then I would prefer that we get the cross-compilation solution working on Azure.

Given the above, I am fine either way. I've added myself as a maintainer in #159, happy to help and learn more about conda-forge processes. But I do want to stress that I personally do not use Erlang, only transitively through RabbitMQ, and even that is very shallow knowledge. This was essentially a wild side-project for me. :-D