Commit e5af7d83 authored by Gabriel Mazetto's avatar Gabriel Mazetto

Upgrade `gitlab-markup` to 1.7.0

The new version requires `python3` to be available. In omnibus
installation this is already a reality as we are currently pathing
previous `gitlab-markup` version to use `python3` instead of `python2`.

We are now requiring `python3` with the gem without having to patch it.

As a consequence to also make it easy to use it in development, we've
introduced a `Pipfile` and `Pipfile.lock`, working similarly to
`Gemfile` and `Gemfile.lock`, and added documentation on how to use
parent 98824f3e
......@@ -116,7 +116,7 @@ gem 'seed-fu', '~> 2.3.7'
# Markdown and HTML processing
gem 'html-pipeline', '~> 2.8'
gem 'deckar01-task_list', '2.2.0'
gem 'gitlab-markup', '~> 1.6.5'
gem 'gitlab-markup', '~> 1.7.0'
gem 'github-markup', '~> 1.7.0', require: 'github/markup'
gem 'commonmarker', '~> 0.17'
gem 'RedCloth', '~> 4.3.2'
......@@ -286,7 +286,7 @@ GEM
github-markup (1.7.0)
gitlab-default_value_for (3.1.1)
activerecord (>= 3.2.0, < 6.0)
gitlab-markup (1.6.5)
gitlab-markup (1.7.0)
gitlab-sidekiq-fetcher (0.4.0)
sidekiq (~> 5)
gitlab-styles (2.5.1)
......@@ -1020,7 +1020,7 @@ DEPENDENCIES
gitaly-proto (~> 1.13.0)
github-markup (~> 1.7.0)
gitlab-default_value_for (~> 3.1.1)
gitlab-markup (~> 1.6.5)
gitlab-markup (~> 1.7.0)
gitlab-sidekiq-fetcher (~> 0.4.0)
gitlab-styles (~> 2.4)
gitlab_omniauth-ldap (~> 2.1.1)
name = "pypi"
url = ""
verify_ssl = true
docutils = "==0.13.1"
python_version = "3.4"
"_meta": {
"hash": {
"sha256": "ec82d5e7c10fd591aeebbc9b7b62d730f7fd70dc52e4e4818834891aa4194c73"
"pipfile-spec": 6,
"requires": {
"python_version": "3.4"
"sources": [
"name": "pypi",
"url": "",
"verify_ssl": true
"default": {
"docutils": {
"hashes": [
"index": "pypi",
"version": "==0.13.1"
"develop": {}
title: Update gitlab-markup to 1.7.0 which requies python3
merge_request: 26246
type: changed
......@@ -22,6 +22,7 @@
text should be _sorry, we could not create your account because:_
1. Code should be written in [US English][us-english]
1. [Go](../go_guide/
1. [Python](../python_guide/
This is also the style used by linting tools such as
[RuboCop]( and [Hound CI](
# Python Development Guidelines
GitLab requires Python as a dependency for [reStructuredText](
markup rendering.
As of GitLab 11.10, we require Python 3.
## Installation
There are several ways of installing python on your system. To be able to use the same version we use in production,
we suggest you use [pyenv]( It works and behave similar to its counterpart in the
ruby world: [rbenv](
### macOS
To install `pyenv` on macOS, you can use [Homebrew]( with:
brew install pyenv
### Linux
To install `pyenv` on Linux, you can run the command below:
curl | bash
Alternatively, you may find `pypenv` available as a system package via your distro package manager.
You can read more about it in: <>.
### Shell integration
Pyenv installation will add required changes to Bash. If you use a different shell,
check for any additional steps required for it.
For Fish, you can install a plugin for [Fisherman](
fisher add fisherman/pyenv
Or for [Oh My Fish](
omf install pyenv
## Dependency management
While GitLab doesn't directly contain any Python scripts, because we depend on Python to render
[reStructuredText]( markup, we need to keep track on dependencies
on the main project level, so we can run that on our development machines.
Recently, an equivalent to the `Gemfile` and the [Bundler]( project has been introduced to Python:
`Pipfile` and [Pipenv](
You will now find a `Pipfile` with the dependencies in the root folder. To install them, run:
pipenv install
Running this command will install both the required Python version as well as required pip dependencies.
## Use instructions
To run any python code under the Pipenv environment, you need to first start a `virtualenv` based on the dependencies
of the application. With Pipenv, this is a simple as running:
pipenv shell
After running that command, you can run GitLab on the same shell and it will be using the Python and dependencies
installed from the `pipenv install` command.
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