Summary
Nerves build-tools is a CircleCI orb for compiling custom Nerves systems. In this presentation I describe the process of setting up and maintaining a CI pipeline for a Nerves system; the board support package that includes low-level things like U-Boot and Linux. This is different from Nerves application firmware, which contains the Elixir code.
I discussed two approaches to creating custom Nerves systems: the top-down method, which involves forking an official Nerves system and modifying it, and the bottom-up method, which involves building a system from scratch to support new hardware. When using the top-down approach, copying an official Nerves system with a hard fork, rather than using the GitHub fork button, can avoid the GitHub limitation of only being able to fork a repository once per organization.
Hosting a package download site is a new build-tools feature that I was able to contribute. Every now and then there are major glitches on the internet, and GitHub artifacts and other package mirrors become unavailable. This can block your build until those mirrors come back online, which is problematic for commercial projects. Hosting a package download site is a way to cache these Buildroot packages on your own server, providing a backup mirror that you control, and that integrates into your CI.
SHARE