Docs - product feedback: Create a release by using a CI/CD job needs clarification

Create a release by using a CI/CD job is unclear to me in the To create a release automatically when commits are pushed or merged to the default branch, using a new Git tag that is defined with variables: example.

  1. I don't understand why it is split into two jobs, a prepare_job and a release_job. Why can't it all be in release_job? The rationale and/or constraints that make two jobs the suggested approach need to be spelt out clearly.
  2. I don't understand where the VERSION file in the example (echo "TAG=v$(cat VERSION)" >> variables.env ) came from. Is the user expected to have checked it in? Was it generated in some previous job? If so how, and why? And why not generated in this job? The docs really need to explain what this is.

What I really want is to create the release in the UI, but run a job at that point to retag some existing docker images & generate a zip file containing some outputs...

Edited by Robert Elliot