Hacking On Heptapod Templates


Published:
By Antoine Cezar

There are still a lot of places in the Heptapod user interface that need to be adapted for Mercurial, and setting up a full development environment is not that easy (it's not for GitLab either).

But there is a ligther way to contribue by editing the Rails templates using the dockerized version.

First setup your mercurial to work with Heptapod as Heptapod uses Heptapod.

Install hg-evolve and activate some of its wonders by adding to your ~/.hgrc:

[extensions]
evolve =
topic =

More detailed instructions are available in the Merge Request Quick Start Guide.

Then create and setup an account on https://foss.heptapod.net to be able to contribute.

Get the code:

hg clone https://foss.heptapod.net/heptapod/heptapod
cd heptapod
hg update heptapod

The Heptapod development happens in the heptapod branch, the default branch being the bare GitLab version.

Add a docker-compose.override.yaml:

app:
  image: heptapod/heptapod:latest
  volumes:
    - ./app/views:/opt/gitlab/embedded/service/gitlab-rails/app/views
  ports:
    - "8080:80"
    - "8022:22"
    - "8443:443"

Here we mount or local views in the docker container so our update are seen by the running Rails application.

You're ready to hack:

docker-compose up -d

From time to time, you may need to restart the Rails application:

docker-compose exec app gitlab-ctl restart puma

When you have a modification to submit, request Developer access on the Heptapod Group:

Requesting access on the Heptapod group

These are granted very liberally. Then follow the Merge Request Quick Start Guide: commit in a topic, push it, and submit your Merge Request.