[Ovmsdev] Build / release infrasructure

Mark Webb-Johnson mark at webb-johnson.net
Mon Mar 7 10:50:43 HKT 2022


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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20220307/77bdb788/attachment.htm>


More information about the OvmsDev mailing list