Commit 278ddd5c authored by Georges Racinet's avatar Georges Racinet 🦑

Workhorse: update build instructions, removed version file

TL;DR: upstream rake tasks is now ready (uses the workhorse/
subdirectory). If people just apply upstream doc, it should
work (with only a minor catch). The wording in `INSTALL_HEPTAPOD`
is meant mostly for people upgrading from earlier versions.

The HEPTAPOD_WORKHORSE_VERSION has now become irrelevant,
bringing only confusion.

branch : heptapod
parent e8e86554697e
......@@ -10,6 +10,7 @@ See the dedicated section at the end of this document
Heptapod installation is similar to GitLab's except that
- some components have to be taken from our Mercurial repositories
and built specifically.
- we have additional components for Mercurial.
- some specific configuration has to be set in place.
- we have more constraints, many of which will be hopefully lifted in
......@@ -26,7 +27,9 @@ Please use the mirror URL for initial and repetitive clonings.
- Rails application (replacement for `gitlab`):
- Heptapod Shell (replacement for GitLab Shell):
- Heptapod Workhorse (replacement for GitLab Workhorse):
- As of Heptapod 0.20.0rc1, Heptapod Workhorse sources are bundled with the
Rails application and don't have a separate repository any more. See the
dedicated section below for how to build it.
All these have version numbers that are independent (but sometimes coincide) with
their upstream counterparts:
......@@ -55,7 +58,7 @@ Example:
......@@ -68,11 +71,65 @@ Example:
$ hg up heptapod-13.7.0
All other standard GitLab components (Gitaly, etc) have to be taken
from the canonical upstream locations, at the version specified at the root
of the Rails application sources (`GITALY_SERVER_VERSION` etc).
### Building Heptapod Workhorse
Warning: this is new in Heptapod 0.20 series, representing a serious change from
previous instructions.
If you are installing Heptapod 0.19, please consult the [present file in the support branch for 0.19]( instead.
In Heptapod 0.20, Heptapod Workhorse sources are bundled with the Rails
application, in the `workhorse/` subdirectory. There is no separate Mercurial
repository any more.
Heptapod tracking issue for this is heptapod#402. This parallels the
[same move by upstream](
The `heptapod` branch of the Heptapod Workhorse repository is now officially
obsolete and closed. It does not have the changes for version 0.20. This
repository will get updates in the `heptapod-stable` branch only, until the
end of life of Heptapod 0.19 (on March 22nd, 2021).
Upstream is nearing the end of several months of coexistence between their own
separate repository and the `workhorse/` subdirectory, with automatic
migration of changes etc. By contrast, Heptapod did it in one shot,
between the 0.19 and 0.20 version series.
Upstream documentation recommends to use a rake task to build Workhorse. In
GitLab 13.9.0, this task was updated to work on the bundled version, and works
readily in the Heptapod case:
1. Choose a directory path to host the built binaries, for example
`/path/to/workhorse/bin`, but make sure this directory does not exist yet.
Note: the rake task will actually initialize the target directory
with a `git clone` command, just to bring in a README file.
If the directory already exists and is
not a Git clone already, in particular if this is an old Heptapod Workhorse
Mercurial clone, this will result in an error.
2. Launch the rake task from the Rails application checkout:
bundle exec rake 'gitlab:workhorse:install[/path/to/workhorse/bin]`
(some shells don't need those quotes. `zsh` does.)
3. Check that this is really Heptapod Workhorse:
$ /path/to/workhorse/bin/gitlab-workhorse -version
gitlab-workhorse heptapod-0.20.0rc1-20210221.191739
Another option is to run `make` in the `workhorse/` subdirectory. The binaries
will be produced there, including `gitlab-workhorse`, the main one.
### Installing Mercurial components
We need a specific Mercurial version, a WSGI server (usually Gunicorn), and
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment