Pick Yarn support into 8.17
What does this MR do?
Picks gitlab-ce!9055, gitlab-ce!9316, and gitlab-ce!9590 into stable to add yarn support into our production builds
Why was this MR needed?
See issue gitlab-ce#28830
GitLab CE MR is here: gitlab-ce!9591