Heptapod 0.12.0 RC, featuring GitLab 12

Posted on Wed 18 March 2020 in announcements

We're very excited to announce that Heptapod reached the 0.12.0rc3 version today. DO NOT MIGRATE DIRECTLY from previous versions.

If you've been following our announcements, you must wonder what happened with Heptapod 0.9, that would be the logical version number after 0.8.3. That part should be clear once you've read how to migrate below.

This new version is very special, in that it sports a giant leap from GitLab 10.5 to GitLab CE 12.2, catching up on most our lag behind upstream GitLab, down from 666 days for Heptapod 0.8.3 to merely 96 for 0.12.0rc3.

But that's not the only novelty, we're also expecting very significant performance gains on larger repositories. In any case, see the full changelog in its new source location.

Our public instance for FOSS projects, https://foss.heptapod.net, should be migrated as soon as we are satisfied with the tests we are going to perform now in staging. We will cut the final 0.12.0 once we are satisfied with how it behaves in production.

This new version should also be the basis for the joint commercial service by Octobus and Clever Cloud, that should enter its alpha stage as soon as possible, now.

Really, Heptapod 0.12 should be nicknamed "under the sign of twelve" or something alike: it is based on GitLab 12.2.12 and moreover, our tracking issue for that move is #212. We swear, that didn't happen on purpose.

Don't hesitate to give us your feedback, we're eager to hear it.

How to migrate from prior Heptapod versions

Needless to say, the general rule to keep a data backup is as relevant as ever.

A series of intermediate migration versions

GitLab's migration system doesn't support crossing several major versions at once: doing so would be incompatible with its background migrations. This is explained in GitLab upgrade recommandations.

Therefore, migrating from Heptapod 0.8 to Heptapod 0.12 is no exception: it requires to stop at appropriate intermediate GitLab versions.

It would have been pointless and a huge waste of time to make a whole functional Heptapod for all of these, so we made intermediate versions that can do only a single thing well: migrate your data. These are labelled Heptapod 0.9, 0.10, and 0.11.

At the time of this writing, these intermediate versions all are release candidates as well, and will maintain that status until the final Heptapod 0.12.0 is released.

Performing the migrations

You should make sure to grab the latest available of each of the intermediate versions, especially if you're trying with release candidates.

Docker users will find images for the intermediate versions under the familiar names: octobus/heptapod:0.9.0rc1 etc. Please check for the latest releases on Docker Hub.

For source installations, the tags also follow the usual namings: heptapod-0.9.0rc1 and so forth.

For each of these intermediate version you'll have to:

  1. install and start it.

  2. wait for the background migrations to be complete

    Here is how to access the Rails console:

    • for Docker installations: docker exec -it CONTAINER_ID gitlab-rails console
    • for source installations: from the Rails directory, run
      bundle exec rails console environment=PRODUCTION

Once the background migrations for Heptapod 0.11 are done, you can finally upgrade normally to 0.12.

A few more details about migrations are provided in the installation instructions

If you have any problem, don't hesitate to reach out to us on our Mattermost or file an issue directly.