From c2cf6fc606212936032879cf0479885a486a9a26 Mon Sep 17 00:00:00 2001
From: inso <insomniak.fr@gmaiL.com>
Date: Sun, 25 Feb 2018 12:52:11 +0100
Subject: [PATCH] Add gitlab-ci.yml

---
 .gitlab-ci.yml | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)
 create mode 100644 .gitlab-ci.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 00000000..791b7eac
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,74 @@
+stages:
+  - github-sync
+  - prepare
+  - build
+  - test
+  - release
+
+variables:
+    PYENV_PYTHON_VERSION: 3.5.5
+
+image: registry.duniter.org/docker/python3/duniterpy-builder:0.0.5
+
+push_to_github:
+  stage: github-sync
+  variables:
+    GIT_STRATEGY: none
+  tags:
+    - github
+  script:
+    - rm -rf ./*
+    - rm -rf .git
+    - git clone --mirror $CI_REPOSITORY_URL .
+    - git remote add github $GITHUB_URL_AND_KEY
+    - git config --global user.email "contact@duniter.org"
+    - git config --global user.name "Duniter"
+    # Job would fail if we don't remove refs about pull requests
+    - bash -c "cat packed-refs | grep -v 'refs/pull' > packed-refs-new; echo 'Removed pull refs.'"
+    - mv packed-refs-new packed-refs
+    - bash -c "git push --force --mirror github 2>&1 | grep -v duniter-gitlab; echo $?"
+
+.pyenv: &pyenv
+  tags:
+    - redshift-docker-python
+  before_script:
+    - export PYENV_ROOT="$HOME/.pyenv"
+    - export PATH="$PYENV_ROOT/bin:$PATH"
+    - eval "$(pyenv init -)"
+    - pyenv shell $PYENV_PYTHON_VERSION
+
+.qt5: &qt5
+  tags:
+    - redshift-docker-python
+  before_script:
+    - export PATH=/opt/qt/5.9/5.9/gcc_64/bin:$PATH
+
+build: &build
+  <<: *pyenv
+  stage: build
+  script:
+    - pip install -r requirements.txt
+    - python gen_resources.py
+    - python gen_translations.py --lrelease
+    - python setup.py sdist bdist_wheel
+    - py.test
+test:
+  <<: *pyenv
+  stage: test
+  script:
+    - pip install coveralls
+    - pip install -r requirements.txt
+    - python gen_resources.py
+    - python gen_translations.py --lrelease
+    - py.test --cov=sakia tests/
+
+releases:
+  <<: *pyenv
+  stage: release
+  when: manual
+  script:
+    - pip install -r requirements.txt
+    - pip install wheel
+    - pip install twine
+    - python setup.py sdist bdist_wheel
+    - twine upload dist/* --username duniter --password $PYPI_PASSWORD
-- 
GitLab