Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Debian package using CircleCI ARM executor #1588

Merged
merged 8 commits into from
Aug 29, 2023
Merged

Build Debian package using CircleCI ARM executor #1588

merged 8 commits into from
Aug 29, 2023

Conversation

db39
Copy link
Contributor

@db39 db39 commented Aug 24, 2023

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 db39 marked this pull request as ready for review August 29, 2023 14:49
@db39 db39 requested a review from mtlynch August 29, 2023 14:49
Copy link
Contributor Author

db39 commented Aug 29, 2023

Automated comment from CodeApprove ➜

@mtlynch please review this Pull Request

Copy link
Contributor

@mtlynch mtlynch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated comment from CodeApprove ➜

Approved on CodeApprove
✔️ Approved

LGTM, thanks!


In: Discussion
Remember on future PRs to add a PR description. I added on for expediency here, as I'm eager to see this go in.


In: CONTRIBUTING.md:
The sudo shouldn't be necessary in any of these. This can happen if your user account isn't in the right Docker group.

I pushed a change to adjust these instructions in 4c3e0ce


👀 @db39 it's your turn please take a look

@db39
Copy link
Contributor Author

db39 commented Aug 29, 2023

@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
Copy link
Contributor

mtlynch commented Aug 29, 2023

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.

@db39 db39 merged commit c381d6f into master Aug 29, 2023
@db39 db39 deleted the circleci-arm branch August 29, 2023 16:05
@mtlynch
Copy link
Contributor

mtlynch commented Aug 29, 2023

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Build Debian package using CircleCI ARM executor
2 participants