I expected when I promote a Release that the Badges from the Release stay intact (except latest), but they’re lost.
Is the behavior that Badges are being lost in the Promote process on purpose?
Why do I want to keep the Badges? Our game uses Badges to connect to a particular Release. We use the build version as Badge, e.g. Badge 1_1_3 serves content for build version 1.1.3.
Our build server syncs content to the Staging bucket and then assigns a Badge for this particular Build. When we then later promote the Release from Staging to Live, also via a build server job, we need the same Badges for the Build to connect to the correct content.
If you don’t want to change the existing Promote behavior in UCD, perhaps you can add an option that allows to specify something like --preserve-badges when promoting a Release.
With the current behavior I have write code that:
fetches Releases from the Staging bucket
extracts the Badges from the release i want to promote
promote Release to Live
fetch releases from Live
extract release_id from promoted release
add Badges back to the promoted Release in Live using the extracted badges and release_id.
Hello and thank you for this comment. You were reading my mind.
We decided not to count on Unity for our version management for number of reasons.
Our decision is to maintain our own versioning system at the expense of making number of redundant buckets and running our own versioning systems.
Reason being is Unity can swing any which way with their functionality, like most US firms they do not commit to any particular software feature. Moreover as in the case of their Plastic SCM the bug fixes are rare!
And it is also not their job, at some point of time, my humble recommendation to capable folks like yourself is not to dump too much on Unity and let’s lighten their load.
Please do not read these words as suggestions or opinions forced at you, I have had read many of your posts in different forums and we share many similary attitudes and Unity issues
In summary, all we ask of Unity is to maintain the integrity of each single newly released bucket per published specifications. Any other functionality’s burden in upon us.