I have done some research on how to "upload CI built
binaries to nightly release".
First, this is not directly supported by GitHub.
To have a release you need a tag, and it is not feasible
to create a tag for every commit.
What I want is to have a fixed place (URL) for the nightly
release. And the workaround I found is:
Create an empty branch and tag and do the release there,
then update the "Assets" section of this release from CI.
(More details on how to update the "Assets" sections:
use REST API:
https://docs.github.com/en/rest/releases/assets#update-a-release-asset
It is a little complicated to create a new asset from CLI,
so we can create new assets from Web interface first and use
the generated ASSET_ID to update them in CI later.)
So summary:
I'd like to upload CI built binaries to nightly
release so that people can download them without log into
GitHub account and find them on CI webpages.
To achieve this I will need to:
create a new branch (git checkout --orphan nightly-release)
add a short README and commit and tag
create "Nightly Release" from this tag
update CI scripts to upload binaries to this release
Comments are welcome. Without objections I will start
implement this next week.
- Qian