<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cross-Compilation on DRM HSE</title><link>https://www.drmhse.com/tags/cross-compilation/</link><description>Recent content in Cross-Compilation on DRM HSE</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 15 Jul 2026 20:44:35 +0300</lastBuildDate><atom:link href="https://www.drmhse.com/tags/cross-compilation/index.xml" rel="self" type="application/rss+xml"/><item><title>Moving AuthOS Rust Builds Out of Docker with cargo-zigbuild</title><link>https://www.drmhse.com/posts/fast-rust-docker-builds-with-zigbuild/</link><pubDate>Sat, 10 Jan 2026 11:00:00 +0300</pubDate><guid>https://www.drmhse.com/posts/fast-rust-docker-builds-with-zigbuild/</guid><description>&lt;p>Our AuthOS release process built three Rust binaries: one each for SQLite, PostgreSQL, and MySQL. We built every variant in a multi-stage Dockerfile, so publishing a version meant waiting for the same expensive compilation boundary three times.&lt;/p>
&lt;p>A typical build took 15–20 minutes. Across the three variants, a release could occupy 45–60 minutes.&lt;/p>
&lt;p>The problem was not that Docker cannot cache Rust builds. BuildKit supports persistent cache mounts for Cargo&amp;rsquo;s registry and &lt;code>target&lt;/code> directory. Our Dockerfile simply did not use them effectively: it copied the project and ran a release build in a layer that source changes invalidated.&lt;/p></description></item></channel></rss>