eclipse / amlen

Message Broker for IoT/Mobile/Web. Mainly uses MQTT v3.x and v5. Aims to be easy to use, scalable and reliable
Eclipse Public License 2.0
46 stars 11 forks source link

Automatically rebuild the build containers as required #164

Closed IanBoden closed 6 months ago

IanBoden commented 7 months ago

As part of a build identify if the buildcontainer images have changed and behave appropriately. It works using special builder-update tags in git, for example main-builder-update always points at the last commit in main that changed one of the buildcontainer dockerfiles.

For branch/PR builds it checks to see if there is a builder-update tag on that branch, if so it checks if there have been further updates, if there is no builder-update tag it will compare with the main-builder-update tag. If there are changes a new branch specific builder-update tag is created and a quayIO build of the buildcontainer is run.

For main it checks to see if any buildcontainer docker file has changed since the last main-builder-update tag, if so all distros will be rebuilt (regardless of if that specific distro dockerfile has been changed) this allows the version numbers to be kept in sync but could be optimized later. Then the main-builder-update tag is moved to the commit.

Also adds in better handling for quayIO builds including coping with the case where we have hit the maximum queued requests.