GNOME Release Service - ftpadmin replacement - Coming 11th December

Setting up a CI job takes about 10 minutes, and you cannot “break” anything. At most, if you’re like me and don’t set up all the bits prior to it, you are just going to waste release versions, since you cannot force push or delete tags.

I’ve literally done this for JSON-GLib, from scratch, and it took about an hour of work in total, because I made all the possible mistakes in order to get an upper limit to the time and effort involved:

  • set up a CI job and introduced external changes which required fixing the pipeline first
  • tagged the wrong commit instead of the one with the release, and the service rejected the tarball with a non-compliant name
  • bumped the version, tagged the appropriate commit, but forgot to protect the *.*.* tags in the repository options, and the service rejected the upload
  • bumped the version, tagged the appropriate commit, and protected the tag

Even accounting for human error and unfamiliarity with CI pipelines, and for projects that take more than 5 minutes to run a release pipeline, this whole process is going to take a very small amount of time.