2.3 KiB
Making Releases of blink1-tool
[this is mostly notes to Tod and other maintainers on how to do new releases]
Steps when a new release of blink1-tool (and blink1-lib) is to be made
Assumptions
-
Target platforms are primarily:
- Mac OS X 11+
- Windows 7+
- Linux 32-bit - Ubuntu 20
- Raspberry Pi
- Arduino Yun / OpenWrt ar71xx
- OpenWrt brcm47xx
-
Build primarily 64-bit, not 32-bit
-
Unix command-line build tools available for each platform
-
Shared mounted checkout of github.com/todbot/ blink1 repo, or at least same revision checkout
General Process
cd blink1-tool
- git tag release w/
git tag -a v2.0.2 -m 'some update msg' && git push --tags
- Build code with
make clean && make
3a. Don't forget aboutmake blink1control-tool
&make blink1-tiny-server
3b. Verify no extra shared libs in MacOS build:otool -L blink1-tool blink1control-tool/blink1control-tool
3c. Verify no MSYS shared libs in Windows build:ldd blink1-tool
- Package up zipfiles with
make package-all
- Copy zip packages to and test on separate test systems
- Publish zip packages to github release
Example
% cd blink1-tool
% make clean
% make
% make blink1control-tool && make blink1-tiny-server
% make package-all
Platform Specifics (for Tod mostly)
Mac
Environment: Build on 11.5 on MacBookPro Retina x64, test on 10.13.6 Mac Mini x64, 11.5 MacBookPro M1
Command: make distclean && make package-all
Windows
Build on Win7-64bit, test on Win7-32 bit, Win8-64bit (all in VMs)
Command: make distclean && make && make package-all
Linux - Ubuntu
Build on Ubuntu 20 VM, test on Ubuntu 18 VM
Command: make distclean && make && make package-all
Linux - Raspberry Pi
Environemt: Build on Raspberry Pi 4 running Raspbian latest.
Command: make distclean && make && make package-all
Rename zip packages from "armv6l" to "raspi".
OpenWrt - Yun / ar71xx
On Fedora 14 VM using OpenWrt-SDK-ar71xx-for-linux-x86_64-gcc-4.6-linaro_uClibc-0.9.33.2
Command: make distclean && make OS=yun && make package
OpenWrt - brcm71xx
On Fedora 14 VM using OpenWrt-SDK-brcm47xx-for-linux-i486-gcc-4.6-linaro_uClibc-0.9.33.2
Command: make distclean && make OS=wrt && make package