Build / release infrasructure
My directory structure for firmware releases on api.openvehicles.com <http://api.openvehicles.com/>: /firmware/ota v3.0 main v3.1 edge pre -> eap eap main v3.2 -> v3.1 v3.3 edge -> ……/firmware/ota/v3.1/edge pre -> ……/firmware/ota/v3.1/pre eap main I build v3.1/edge automatically each night. cd $IDF_PATH git config pull.rebase false git pull git submodule init git submodule update cd $OVMS_TREE git config pull.rebase false git fetch --tags git pull git submodule init git submodule update cd $OVMS_PATH make defconfig make size >$INFO_PATH echo >>$INFO_PATH git log --graph --decorate --pretty=oneline --abbrev-commit --all -n 10 >>$INFO_PATH cp build/ovms3.bin $REL_PATH/${REV_NEW}.ovms3.bin cp build/ovms3.elf $REL_PATH/${REV_NEW}.ovms3.elf echo $REV_NEW >${REL_PATH}/ovms3.new echo `/usr/bin/date -u` "Automated build ($HOSTNAME)" >>${REL_PATH}/ovms3.new echo >>${REL_PATH}/ovms3.new cat $INFO_PATH >>${REL_PATH}/ovms3.new rm -f ${REL_PATH}/ovms3.bin ln -s ${REL_PATH}/${REV_NEW}.ovms3.bin ${REL_PATH}/ovms3.bin rm -f ${REL_PATH}/ovms3.elf ln -s ${REL_PATH}/${REV_NEW}.ovms3.elf ${REL_PATH}/ovms3.elf mv ${REL_PATH}/ovms3.new ${REL_PATH}/ovms3.ver The v3.1/pre, */eap, and */main are all manually released when ready. My directory structure for plugin releases on api.openvehicles.com <http://api.openvehicles.com/>: /plugins plugins.json plugins.rev abrp auxbatmon chgind chgthrottle edimax foglight helloworld pwrmon regenmon repidscan retools I build plugins automatically each night. See support/buildplugins.pl That is what I do today. At some point, we will build the v3.3 tree separately (rather than symlink to v3.1), to take advantage of a ESP32 rev3 specific sdkconfig. Regards, Mark.
participants (1)
-
Mark Webb-Johnson