[CI] Automatic releases for desktop
Summary:
Part of ENG-2224. This new action uses artifacts from Windows/ macOS CI, to create a new release with the necessary files for a new desktop update. Release workflow is triggered on git tag push that starts with desktop-.
- In the Windows/ macOS CI, new trigger is added - workflow_call so they can be called from other workflows. Additionaly they will save their artifacts so they can be transfered to the release workflow (they could be also useful for testing e.g. Windows changes).
- Then a new release is created with the files. It's marked as prerelease so the update server ignores it and we can test it before marking it as a full release. The new release is linked in the workflow summary.
The official GitHub action for releases is unmaintained. The softprops action that I'm using is one of the mentioned alternatives and seems the most well-maintained. It needs permissions: content: write, which should be the default but I've figured I would state it explicitly.
Test Plan: Tested on a fork: https://github.com/MichalGniadek/comm-test-gh
Reviewers: atul, jon
Reviewed By: atul
Subscribers: ashoat, tomek
Differential Revision: https://phab.comm.dev/D6555