From 1224313e7c44eaad3ec990323137491fd3bf1f76 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9gis=20Behmo?= <regis@behmo.com>
Date: Wed, 9 Oct 2019 12:59:23 +0200
Subject: [PATCH] Make sure twine & pip are up-to-date in CI

We were affected by the following bug when installing pyinstaller in CI:

https://github.com/pyinstaller/pyinstaller/issues/4006
https://github.com/pypa/pip/issues/6163

As a consequence, pip is upgraded in CI. Also, twine is now part of dev
requirements.
---
 .gitlab-ci.yml       |  7 +++----
 .travis.yml          |  2 +-
 Makefile             |  9 +++------
 requirements/dev.in  |  1 +
 requirements/dev.txt | 14 ++++++++++++++
 5 files changed, 22 insertions(+), 11 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 175bb32..ab2b33c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -9,8 +9,7 @@ test:
   script:
     - apk add --no-cache make gcc musl-dev yaml-dev
     - python setup.py install
-    - pip install -r requirements/dev.txt
-    - pip install twine
+    - make ci-install-python-requirements
     - make test
 
 build:images:
@@ -35,7 +34,7 @@ build:docs:
 build:pypi:
   script:
     - apk add --no-cache make
-    - make ci-install
+    - make ci-install-python-requirements
     - make package
   artifacts:
     paths:
@@ -56,7 +55,7 @@ deploy:images:
 deploy:pypi:
   script:
     - apk add --no-cache make
-    - make ci-install
+    - make ci-install-python-requirements
     - make ci-pypi
   dependencies:
     - build:pypi
diff --git a/.travis.yml b/.travis.yml
index 0015263..3f029c7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -13,7 +13,7 @@ matrix:
 
 script:
   - make ci-info
-  - make ci-install-dev
+  - make ci-install-plugins
   - make test
   - make ci-bundle
 
diff --git a/Makefile b/Makefile
index 10fde4c..303c85a 100644
--- a/Makefile
+++ b/Makefile
@@ -61,14 +61,11 @@ ci-info: ## Print info about environment
 	python3 --version
 	pip3 --version
 
-ci-install-dev: ## Install requirements
-	pip3 install -U setuptools twine
+ci-install-python-requirements: ## Install requirements
+	pip3 install -U setuptools pip
 	pip3 install -r requirements/dev.txt
-	pip3 install -r requirements/plugins.txt
 
-ci-install:
-	pip3 install -U setuptools twine
-	pip3 install -r requirements/base.txt
+ci-install-plugins: ci-install-python-requirements ## Install alll supported plugins
 	pip3 install -r requirements/plugins.txt
 
 ci-bundle: ## Create bundle and run basic tests
diff --git a/requirements/dev.in b/requirements/dev.in
index c70a1ef..ce25d14 100644
--- a/requirements/dev.in
+++ b/requirements/dev.in
@@ -3,3 +3,4 @@ black
 pip-tools
 pylint
 pyinstaller
+twine
\ No newline at end of file
diff --git a/requirements/dev.txt b/requirements/dev.txt
index 704cf39..8a9eb11 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -9,9 +9,14 @@ appdirs==1.4.3
 astroid==2.2.5            # via pylint
 attrs==19.1.0             # via black
 black==19.3b0
+bleach==3.1.0             # via readme-renderer
+certifi==2019.9.11        # via requests
+chardet==3.0.4            # via requests
 click-repl==0.1.6
 click==7.0
+docutils==0.15.2          # via readme-renderer
 future==0.17.1            # via pefile
+idna==2.8                 # via requests
 isort==4.3.18             # via pylint
 jinja2==2.10.1
 lazy-object-proxy==1.3.1  # via astroid
@@ -20,12 +25,21 @@ markupsafe==1.1.1
 mccabe==0.6.1             # via pylint
 pefile==2018.8.8          # via pyinstaller
 pip-tools==3.2.0
+pkginfo==1.5.0.1          # via twine
 prompt-toolkit==2.0.9
+pygments==2.4.2           # via readme-renderer
 pyinstaller==3.4
 pylint==2.3.1
 pyyaml==5.1
+readme-renderer==24.0     # via twine
+requests-toolbelt==0.9.1  # via twine
+requests==2.22.0          # via requests-toolbelt, twine
 six==1.12.0
 toml==0.10.0              # via black
+tqdm==4.36.1              # via twine
+twine==2.0.0
 typed-ast==1.3.5          # via astroid
+urllib3==1.25.6           # via requests
 wcwidth==0.1.7
+webencodings==0.5.1       # via bleach
 wrapt==1.11.1             # via astroid
-- 
GitLab