Distribute release-cli binaries via S3

The following discussion from !13 (merged) should be addressed:

  • @sean_carroll started a discussion: (+2 comments)

    @steveazz about distribution of the releaser binaries:

    • can we put it in the same bucket as the Runner ?
    • is there a development bucket @jaime and I can get access to to build against?

can we put it in the same bucket as the Runner ?

@sean_carroll Ideally no, this should be in its own bucket so each project has the authorization to write to 1 bucket and will reduce the risk factor of a key being leaked.

We usually ask the SRE team to provision the bucket for us for example:

You might want to the SRE team beforehand to confirm that this is still the process.

is there a development bucket @jaime and I can get access to build against?

We can use the same bucket that we create above ☝️ and then follow the same strategy as GitLab Runner does (if you like it). Where we have a job which will publish the binaries with release-index-generator where we take the name of the branch and create a directory in s3 and then upload the binaries there.

For example:

So like this, it's clear to users where they have to go if they want a specific version of the binary or a development branch. I think this should be done in a separate merge request/issue since distributing the binaries is a different concern then building/publishing the Docker images. Publishing Docker images will give us the bigest benefit since users would just need to define it in .gitlab-ci.yml under image: and use the image to create the release.

TODOs

Downloads

The release-cli is available to download for different platforms via S3 starting from v0.6.0.

Edited by Jaime Martinez