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.