Builds firmware on PR/push to main. Initializes libopencm3 and libopeninv submodules then runs make. Uploads stm32_charger.bin as a 30-day retained artifact. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>