<div dir="ltr"><div>Dear PSC,</div><div><br></div><div>We are currently producing macOS builds entirely within our CI/CD pipelines (github workflows/actions). With this approach, we can create dmg installer packages for currently supported QGIS 3 and QGIS 4 versions for releases, pull requests, and branch (latest) builds.</div><div><br></div><div>For QGIS 4, one important component is currently missing: we cannot build QtWebEngine (HTML rendering) because building it takes over six hours (the maximum threshold for workflows) on the (free-tier) github runners. This limitation is significant, and several tickets request its addition (for QGIS itself and for plugins like dataplotly). We only need to rebuild this component when there's an update, so it won't add time to every pipeline build. However, we must ensure it builds once every few days.</div><div><br></div><div>I recently was in touch with <a href="https://www.blacksmith.sh/">blacksmith</a> which is an independent provider of runners for github actions. They have very performant runners, I was able to build QtWebEngine in less than 1.5 hours (compared to more than 6 hours on github). They would allow us to use their infrastructure as part of their open-source engagement and ask for a blog post in return.</div><div><br></div><div>Blacksmith would also help us reduce CI time for other workflows either by moving some workflows over to blacksmith or by reducing the load on github actions cache. This would significantly improve the developer experience.</div><div><br></div><div>One remaining challenge will be providing mac packages for Intel devices. Blacksmith does not offer this platform. Apple stopped selling Intel macOS devices in mid-2023. Apple will officially support Intel devices until 2028, after which support will be reduced, ending entirely in 2030. Offering QGIS 4 support for Intel devices would be nice, but we would need to find another interim solution for the next 2-4 years.</div><div><br></div><div>I'd like to propose that we create an account with blacksmith, install its github app and move the macOS arm64 workflow and potentially a few others over to blacksmith. If this goes well and improves the situation, I'd like to write a blog post about our experiences as part of this agreement. This will improve the situation for macOS packages for arm64 (i.e. for all mac devices sold in the last 3 years and more sold since 2020). For Intel, we would continue to build packages but without QtWebEngine until we find a suitable solution.</div><div><br></div><div>Thanks a lot and best regards</div><div>Matthias</div><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><table dir="ltr" style="margin-top:15px;font-family:Verdana,sans-serif;width:895px" width="600" cellspacing="0" cellpadding="0"><tbody><tr><td style="width:893px"><table style="width:557px" cellspacing="0" cellpadding="0"><tbody><tr><td style="padding-right:16px" valign="top"><a style="text-decoration:none" href="https://conference.qgis.org" rel="noopener" target="_blank"><img src="https://cdn.bulksignature.com/images/4152/nb25pCtdzFp7fkFBPHNE9Hwe5g9EZYvZbfgFRQd2.jpg" alt="" width="353" height="230"></a></td><td style="height:0px;line-height:0px;border-left:1px solid rgba(74,74,74,0.5);padding:0px 5px 0px 0px;width:0px"> </td><td style="width:635px" valign="top"><table style="width:635px" cellspacing="0" cellpadding="0"><tbody><tr><td style="color:#4a4a4a;font-weight:bold;line-height:1;padding:0px 0px 0px 2px;text-align:left;font-size:19px;width:631px"><div style="font-weight:400;line-height:18px;height:33px;padding:0px 0px 8px 2px;text-align:left;font-size:16px"><br>
<img src="https://cdn.bulksignature.com/cloud/photo/4152_110856551554178066947.jpg?v=4" width="90" height="90" style="border-radius:50%;float:left;margin:0 10px 10px 0">
<strong>Matthias Kuhn</strong> - <span style="color:#82cb2a">Mr. Noproblemo</span> <p style="margin-top:8px;font-size:12px;color:#4a4a4a">CTO | Co-Founder<br></p></div></td></tr><tr><td style="padding:0px 0px 5px 2px;width:631px"><div style="margin:0px;float:left"><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td style="width:20px;vertical-align:middle;padding-top:2px;padding-bottom:2px"><div style="display:inline-block;vertical-align:middle"><img style="vertical-align:middle" src="https://cdn.appsrecord.com/social/transparent/1565c0/32/email.png" alt="email" width="16"></div></td><td style="padding-top:2px;padding-bottom:2px;vertical-align:middle"><a style="display:inline-block;color:#000000;font-size:12px;text-decoration:none;vertical-align:middle" href="mailto:matthias@opengis.ch" rel="noopener" target="_blank">matthias@opengis.ch </a></td></tr><tr><td style="width:20px;vertical-align:middle;padding-top:2px;padding-bottom:2px"><div style="display:inline-block;vertical-align:middle"><img style="vertical-align:middle" src="https://cdn.appsrecord.com/social/transparent/1565c0/32/www.png" alt="www" width="16"></div></td><td style="padding-top:2px;padding-bottom:2px;vertical-align:middle"><a style="display:inline-block;color:#000000;font-size:12px;text-decoration:none;vertical-align:middle" href="https://opengis.ch" rel="noopener" target="_blank">opengis.ch </a></td></tr></tbody></table></div> </td></tr><tr><td style="padding:11px 0 0 3px;width:633px"><table style="margin:0px;padding:0px;float:left" border="0" cellspacing="0" cellpadding="0"><tbody><tr><td style="padding-right:5px"><a style="color:#000000;display:flex" href="https://www.linkedin.com/company/opengisch/" rel="noopener" target="_blank"><img src="https://cdn.appsrecord.com/social/border-round/4a4a4a/40/linkedin.png" alt="linkedin" width="20"></a></td><td style="padding-right:5px"><a style="color:#000000;display:flex" href="https://fosstodon.org/@opengisch" rel="noopener" target="_blank"><img src="https://cdn.appsrecord.com/social/border-round/4a4a4a/40/mastodon.png" alt="mastodon" width="20"></a></td><td style="padding-right:5px"><a style="color:#000000;display:flex" href="https://github.com/opengisch/" rel="noopener" target="_blank"><img src="https://cdn.appsrecord.com/social/border-round/4a4a4a/40/github.png" alt="github" width="20"></a></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></div></div>