tiny-pilot / tinypilot

Use your Raspberry Pi as a browser-based KVM.
https://tinypilotkvm.com
MIT License
3k stars 252 forks source link

Build Debian package using CircleCI ARM executor #1588

Closed db39 closed 1 year ago

db39 commented 1 year ago

Resolves #1584

We've been using Docker+QEMU to emulate 32-bit ARM on AMD64, but this PR switches to ARM-native CircleCI instances, which skips the emulation.

This achieves a speedup on building Debian packages from about 4m down to about 70s.

Because Debian package building is fast again, we're changing our CI workflow to build a Debian package on every commit rather than just on master or just when we manually trigger it.

Review on CodeApprove

db39 commented 1 year ago
Automated comment from CodeApprove ➜

⏳ @mtlynch please review this Pull Request

db39 commented 1 year ago

@mtlynch - Sorry about that, I just forgot about the PR description.

Once I merge this into the Pro repo, should I create a new issue to merge your arm-pro branch, or should I do separate changes?

mtlynch commented 1 year ago

Once I merge this into the Pro repo, should I create a new issue to merge your arm-pro branch, or should I do separate changes?

arm-pro has too many unrelated changes, so it's probably worth just starting fresh. You can make a new PR into the auto-generated "merge from community" PR

I think the only change we need is to preserve the microsd_build_branch with instructions about how to activate it (move them over from the deleted bundle_build_branch comment) and make sure we get rid of thebundle_build_branch parameter.

mtlynch commented 1 year ago

@jotaen4tinypilot, @jdeanwallace - Just a heads up that this is a slight change to our dev workflow. CircleCI will build Debian packages and TinyPilot bundles on every commit. On Pro, we still only build microSD images on master, and we control the build the same way we previously controlled bundle builds.