Automatic builds
-
Hi All,
For the Bear Duet project we will have a single repository for on our GitHub with release that contains all the necessary files and configurations for installing Duet RRF and PanelDue to our Duet Mini 5+ board. I am doing a GitHub action script to automate the release creation (gather files from Duet GitHub release, make our own splash screen, create a draft release and upload all necessary files to the draft release).
I have noticed that filenames are changing between the releases and this makes the automation script more difficult and it might be more prone to errors. This makes me thing that the RRF and PanelDue firmware release are made manually and I am wondering if automating this process would be possible in the future. This would reduce risks of human error, reduce time needed to make the release and make it more consistent over time.
I would be very happy to help with this however, I might not be the best person as I am new to Duet RRF and have not tried to build it myself yet.
-
@gregsaun that woulf be great if combined with a move to cmake ...
-
@oliof Ah yes that would be great too. This can probably be handled as two separate tasks but I agree it would make sense. Moving to cmake is probably a lot of work.
-
-
Paneldue is already ported to cmake. Check the github repo https://github.com/Duet3D/PanelDueFirmware
It runs perfectly within Arch Linux so integration with automated build based on docker or similar should be feasible.
I also started this work for RepRapFirmware. It brings basic support for the mini5+. It needs most of the configuration for other boards to be ported. Otherwise i think it's a good basis to start off.
Check https://github.com/mfs12/RepRapFirmware/tree/integrate-cmake-build-system
-
@mfs12 That is awesome to head, thanks for that work. So yes for PanelDue we can use GitHub actions, it is using docker and you can specify the OS as well if you like.
-
@gregsaun can you share the github action files. So far i am not familiar with github actions but would like to have this integrated as well.
-
@mfs12 It is not published yet but here is the create release GitHub action script I am currently using to create the release:
create_release.yml.txtI have an external script to create the zip files and for now the splash screen creation isn't done yet. You need to rename the file as .yml
-
@gregsaun, thanks i will have a look into it.
-
BTW to build Paneldue any Linux should be fine no need to use specifically Arch Linux.
-
@mfs12 Don't hesitate if you need help
-
For info, this is how my draft release looks like on GitHub after the automatic creation