Should we stop using the images in latest mode? But in that case, how do we update them?
Or should we consider this as a rare problem (and which I think will be fixed quickly)?
Look at what we did in the MQTT integration! We fixed the version and have an update mechanism in place. When Gladys starts, we check the container version and update it if necessary
We leave the latest tag and we will need to communicate in case of a bug of this type.
We set an « approved » version in the Zigbee2Mqtt service, which is reassessed with each new release of Gladys. This implies that we need to test the latest available z2m version and, if it is functional, update the Zigbee2Mqtt service to recreate the container when Gladys starts.
I prefer to have a stable version even if it means spending some time testing the images AND not benefiting from the latest updates on the same day.
I will look at what is being done on Mqtt.
For validating new versions, this can be done quite quickly.
We identify those who use Z2M and what USB adapter they have
In case of a new version, everyone uses the dev version and validates proper functioning with their sensors
In a maximum of one week, it’s done, and without overcomplicating things, we avoid the bugs encountered yesterday with a container that no longer launches.
In the end, whether we use a major/minor version or a latest version, the problem would have been the same in the bug we saw the other day: if the guys from Zigbee2mqtt push a broken version on the tag we use (whichever it is), it will break for us.
Unlike NPM, a Docker tag is not a guarantee of immutability, you can push a broken image on an existing tag, thus breaking the existing.
This is the problem with integrations with third parties, we are completely dependent on third parties, and we can’t do much about it!
I agree with the idea, but in practice we will never be able to have the velocity of their project in Gladys, at least not currently, there are not enough contributors/volunteers contributing to Gladys to do frequent reviews. In any case, for all the dev builds I do, I never have testers.
To give an example, in the case of Z-Wave, we have set a fixed version to avoid these problems, and the version is updated once a year at best.