Some numbers to start. We know that there are hundreds of thousands of projects currently made with Unity. They are spread across all versions, with a peak on the latest released version, 2018.1.
-
-
এই থ্রেডটি দেখান
-
Each month we are adding something like 20.000 changesets to trunk (
@aras_p might have the real number). If we have a release every 4 months, it means every release adds 80.000 changesets. 3 releases in, we are diverging by 240.000 changesets (napkin math some get backported).এই থ্রেডটি দেখান -
Besides the latest, we support back to 2017.1, so four fully supported versions by now. Besides that, we have the branch going for the next release, 2018.2, and trunk. 6 release branches in total.
এই থ্রেডটি দেখান -
Pull requests goes first to trunk, then gets backported back through the versions. This is in order to not inadvertently cause a regression for a user upgrading. So for a 2017.1 fix, we must get a PR for trunk, 2018.2, 2018.1, 2017.4 (2017.3, but LTS mode), 2017.2 and 2017.1.
এই থ্রেডটি দেখান -
A pull request containing a fix must be code reviewed by owners of areas it may have impact. If, say, a fix in some graphics code touches something that might be platform sensitive, both platform and gfx owners must review. Only on all green does it go to queue.
এই থ্রেডটি দেখান -
When the PR goes to the trunk merge queue, it is bundled with other PRs and all our test automation is run. Only if everything is green will it be accepted. Then the PRs for the backports are created and in turn they must run the automation on their branches.
এই থ্রেডটি দেখান -
The automation goes through 60-80.000 tests (moving target) on many platforms. If something fails, bisects start, offending PRs are taken out of the queue and restart of failed tests run again. This can take a whole day depending on the nature of the break.
এই থ্রেডটি দেখান -
When the fix lands, QA verifies the fix in trunk. Release QA verifies in the current release (2018.2) and Sustained Engineering QA verifies in all subsequent version patch releases. All in order to catch unintended halo issues.
এই থ্রেডটি দেখান -
Fixing a bug in trunk is fairly simple. Branch trunk, fix stuff, test stuff, make pull request, get review, pass tests. By this time you have done your thing and at least 4 other people have been involved.
এই থ্রেডটি দেখান -
Fixing a bug 4 releases back and your have engaged at least double the amount of people in the process. Not to mention the vast amount of infrastructure resources used in the automation pipeline.
এই থ্রেডটি দেখান -
Add a change to the documentation in the process and you have docs editors and reviewers and testing on the docs as well.
এই থ্রেডটি দেখান -
Finally the release notes for all the versions are updated, the build is built and published to our website.
এই থ্রেডটি দেখান -
There you have it. A tiny glimpse into the factory that is Unity maintenance all for the glory of our users. /end
এই থ্রেডটি দেখান
কথা-বার্তা শেষ
নতুন কথা-বার্তা -
-
-
Thanks, interesting! I'm fascinated with organisations' value delivery. Statistically high performing organisations do rapid releases (10s to 1000s daily) and have short lived branches (< daily). Good luck in your continued scaling efforts, you're tackling a hard problem!
-
Statistically, yes, because there are only a few handfuls of platform software and even fewer developer tools. They drown statistically in "one point deployment" of websites. It's two very different problems with different solutions.
-
The correlations in high performing orgs is unrelated to websites though, data comes from across many industries. E.g. what DevOps Handbook and Accelerate books describe. Anyway, Unity is doing fine in its space, everything has to be seen in context, keep pushing the envelope.
কথা-বার্তা শেষ
নতুন কথা-বার্তা -
-
-
Very informative!
ধন্যবাদ। আপনার সময়রেখাকে আরো ভালো করে তুলতে টুইটার এটিকে ব্যবহার করবে। পূর্বাবস্থায়পূর্বাবস্থায়
-
-
-
haha nice
ধন্যবাদ। আপনার সময়রেখাকে আরো ভালো করে তুলতে টুইটার এটিকে ব্যবহার করবে। পূর্বাবস্থায়পূর্বাবস্থায়
-
লোড হতে বেশ কিছুক্ষণ সময় নিচ্ছে।
টুইটার তার ক্ষমতার বাইরে চলে গেছে বা কোনো সাময়িক সমস্যার সম্মুখীন হয়েছে আবার চেষ্টা করুন বা আরও তথ্যের জন্য টুইটারের স্থিতি দেখুন।