<html><head></head><body>I think Ben's concern is the load on our servers that is created by rebuilding each framework for each application build.<br><br>Nico<br><br><div class="gmail_quote">On 13 December 2019 11:03:06 CET, Aleix Pol <aleixpol@kde.org> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">On Thu, Dec 12, 2019 at 7:35 PM Nicolas Fella <nicolas.fella@gmx.de> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"><br> Hi,<br><br> this is a breakout of <a href="https://mail.kde.org/pipermail/release-team/2019-December/011702.html">https://mail.kde.org/pipermail/release-team/2019-December/011702.html</a> since it's not really relevant for the release team.<br><br> The Android binary factory currently serves two purpose. It serves as a CI<br> system in the sense that it catches (compiletime) breakages and it provides<br> nightly APKs for beta users.<br><br> Given that we already have a few applications on Google Play and it's likely<br> that more will join in the future I would like to expand the scope of it to<br> also provide release builds from it, i.e. from stable branches, with binaries<br> built in release mode etc. This aims to replace the custom solutions some<br> projects have built for themselves.<br><br> On Donnerstag, 12. Dezember 2019 18:54:28 CET Ben Cooksley wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"> With the way Android builds are currently conducted (building every<br> single dependency from scratch each time) i'm opposed to doing this as<br> it would double what is already quite an expensive load on the system<br> already.<br><br> I'd like to see the Android build process optimised to let it reuse<br> the results for most dependencies (Frameworks come to mind in<br> particular) before we head in that direction.<br></blockquote><br> Assuming that the general approach of using Docker for the builds is fine I<br> would like to propose this:<br> We provide a base image that contains the most common depenencies prebuilt,<br> i.e. Qt and the main Frameworks. We provide this in two variants, stable and<br> unstable. Stable would provide the latest frameworks release and would thus be<br> regularly rebuilt once a month after the Frameworks release. The unstable<br> version would contain a master Frameworks build to keep the CI/nightly aspect<br> of the builds. This would be rebuilt more often, i.e. once a day. This would<br> require a full Frameworks build per day which is still an improvement over 20<br> full Frameworks builds per day as we have now. With regard to the Qt version I<br> think sticking to the latest release as we do now is fine for both. A solution<br> that would not need a full Qt build once a day would thus be preferrable, e.g.<br> by using prebuilt Qt binaries or factoring out the Qt build into another base<br> image. Application builds then would pick an appropriate base image, build the<br> non-framework dependencies and finally the application itself. This should<br> reduce the non-necessary frameworks rebuilds by a significant amount.<br><br> @Ben do you agree with this proposal?<br></blockquote><br>Am I right in the understanding that the reason to do this is we want<br>faster builds on binary-factory?<br><br>Aleix<br></pre></blockquote></div><br>-- <br>Sent from my Android device with K-9 Mail. Please excuse my brevity.</body></html>