Create a release whenever VERSION file is changed

Problem

We don't have any automatic way of creating releases. We do make use of tags but that is a manual process that uses a script that we need to document.

Proposal

  • Create a gitlab-elasticsearch-indexer-builder image that can output gitlab-elasticsearch-indexer binaries for both darwin and linux architectures to a volume mount. The CMD could be something like cp ./bin/* /mnt/bin so the docker image could be run, something like docker run -v ${PWD}/build:/mnt/bin gitlab-elasticsearch-indexer-builder-1.0.0` and all the binaries would be dumped to
  • Add a builder image to https://gitlab.com/gitlab-org/gitlab-build-images with file name of of Dockerfile.gitlab-elasticsearch-indexer-builder-{VERSION}
  • Create CI pipeline in this project that tags a release whenever VERSION file is changed and uses builder image to upload binaries.
Edited by John Mason