From 10da1a981f3216ef4166895295d881a841f0fae6 Mon Sep 17 00:00:00 2001
From: Tiago Freitas Pereira <tiagofrepereira@gmail.com>
Date: Tue, 21 May 2019 09:20:12 +0200
Subject: [PATCH] Preparing new release

[skip ci]
---
 .gitignore                     |  2 +
 .gitlab-ci.yml                 | 96 ++++++++++++++++++++++++++++------
 conda/meta.yaml                |  2 +
 doc/index.rst                  |  5 +-
 doc/plot/detect_faces_mtcnn.py |  1 +
 doc/readme_index.rst           |  2 +
 requirements.txt               |  2 +
 7 files changed, 93 insertions(+), 17 deletions(-)
 create mode 120000 doc/plot/detect_faces_mtcnn.py

diff --git a/.gitignore b/.gitignore
index fe6b461..b3d31b4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -72,8 +72,10 @@ doc/bob.io.video/
 doc/bob.ip.base/
 doc/bob.ip.caffe_extractor/
 doc/bob.ip.color/
+doc/bob.ip.dlib
 doc/bob.ip.draw/
 doc/bob.ip.facedetect/
+doc/bob.ip.facelandmarks/
 doc/bob.ip.flandmark/
 doc/bob.ip.gabor/
 doc/bob.ip.mtcnn/
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index dacf9c8..413be9c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,31 +1,33 @@
-# This build file uses template features from YAML so it is generic enough for
-# any Bob project. Don't modify it unless you know what you're doing.
+# This YAML file contains descriptions for the CI of most of our Bob/BEAT/BATL
+# packages - do **not** modify it unless you know what you're doing (and up
+# to!)
 
 # Definition of global variables (all stages)
 variables:
+  PYTHONUNBUFFERED: "1"
   CONDA_ROOT: "${CI_PROJECT_DIR}/miniconda"
+  BOOTSTRAP: "https://gitlab.idiap.ch/bob/bob.devtools/raw/master/bob/devtools/bootstrap.py"
 
 
 # Definition of our build pipeline order
 stages:
   - build
   - deploy
+  - pypi
 
 
 # Build targets
 .build_template: &build_job
   stage: build
   before_script:
-    - mkdir _ci
-    - curl --silent "https://gitlab.idiap.ch/bob/bob.admin/raw/master/gitlab/install.sh" > _ci/install.sh
-    - chmod 755 _ci/install.sh
-    - ./_ci/install.sh _ci master #installs ci support scripts
-    - ./_ci/before_build.sh
     - ./before_build.sh
   script:
-    - ./_ci/build.sh
-  after_script:
-    - ./_ci/after_build.sh
+    - curl --silent "${BOOTSTRAP}" --output "bootstrap.py"
+    - python3 bootstrap.py -vv channel base
+    - source ${CONDA_ROOT}/etc/profile.d/conda.sh
+    - conda activate base
+    - bdt ci build ./conda -vv
+    - bdt ci clean -vv
   cache: &build_caches
     paths:
       - miniconda.sh
@@ -41,7 +43,6 @@ stages:
   artifacts:
     expire_in: 1 week
     paths:
-      - _ci/
       - ${CONDA_ROOT}/conda-bld/linux-64/*.tar.bz2
   cache:
     <<: *build_caches
@@ -54,25 +55,67 @@ build_linux_36:
     GITLAB_CHECKOUT_STRATEGY: "https://gitlab-ci-token:${CI_BUILD_TOKEN}@gitlab.idiap.ch/"
     PYTHON_VERSION: "3.6"
     BUILD_EGG: "true"
+  script:
+    - curl --silent "${BOOTSTRAP}" --output "bootstrap.py"
+    - python3 bootstrap.py -vv channel base
+    - source ${CONDA_ROOT}/etc/profile.d/conda.sh
+    - conda activate base
+    - bdt ci build -vv
+    - bdt ci clean -vv
   artifacts:
     expire_in: 1 week
     paths:
-      - _ci/
+      - dist/*.zip
       - sphinx
       - ${CONDA_ROOT}/conda-bld/linux-64/*.tar.bz2
 
 
+# Test targets (not normally used)
+.test_template: &test_job
+  stage: test
+  script:
+    - curl --silent "${BOOTSTRAP}" --output "bootstrap.py"
+    - python3 bootstrap.py -vv channel base
+    - source ${CONDA_ROOT}/etc/profile.d/conda.sh
+    - conda activate base
+    - bdt ci test -vv
+    - bdt ci clean -vv
+  cache: &test_caches
+    paths:
+      - miniconda.sh
+      - ${CONDA_ROOT}/pkgs/*.tar.bz2
+      - ${CONDA_ROOT}/pkgs/urls.txt
+
+
+.test_linux_template: &linux_test_job
+  <<: *test_job
+  tags:
+    - docker
+  image: continuumio/conda-concourse-ci
+  cache:
+    <<: *test_caches
+    key: "linux-cache"
+
+
 # Deploy targets
 .deploy_template: &deploy_job
   stage: deploy
-  before_script:
-    - ./_ci/install.sh _ci master #updates ci support scripts
   script:
-    - ./_ci/deploy.sh
+    - curl --silent "${BOOTSTRAP}" --output "bootstrap.py"
+    - python3 bootstrap.py channel base
+    - source ${CONDA_ROOT}/etc/profile.d/conda.sh
+    - conda activate base
+    - bdt ci deploy -vv
+    - bdt ci clean -vv
   dependencies:
     - build_linux_36
   tags:
-    - deployer
+    - docker
+  cache: &build_caches
+    paths:
+      - miniconda.sh
+      - ${CONDA_ROOT}/pkgs/*.tar.bz2
+      - ${CONDA_ROOT}/pkgs/urls.txt
 
 
 deploy_beta:
@@ -89,3 +132,24 @@ deploy_stable:
     - /^v\d+\.\d+\.\d+([abc]\d*)?$/  # PEP-440 compliant version (tags)
   except:
     - branches
+
+
+pypi:
+  stage: pypi
+  environment: pypi
+  only:
+    - /^v\d+\.\d+\.\d+([abc]\d*)?$/  # PEP-440 compliant version (tags)
+  except:
+    - branches
+  script:
+    - curl --silent "${BOOTSTRAP}" --output "bootstrap.py"
+    - python3 bootstrap.py -vv channel base
+    - source ${CONDA_ROOT}/etc/profile.d/conda.sh
+    - conda activate base
+    - bdt ci pypi -vv dist/*.zip
+    - bdt ci clean -vv
+  dependencies:
+    - build_linux_36
+  tags:
+    - docker
+
diff --git a/conda/meta.yaml b/conda/meta.yaml
index 58ad1d7..ed2de4c 100644
--- a/conda/meta.yaml
+++ b/conda/meta.yaml
@@ -84,8 +84,10 @@ requirements:
     - bob.ip.base
     - bob.ip.caffe_extractor
     - bob.ip.color
+    - bob.ip.dlib    
     - bob.ip.draw
     - bob.ip.facedetect
+    - bob.ip.facelandmarks
     - bob.ip.flandmark
     - bob.ip.gabor
     - bob.ip.mtcnn
diff --git a/doc/index.rst b/doc/index.rst
index 1e1c2ba..880b691 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -37,6 +37,7 @@ Signal, Audio, Image and Video Processing
 * :ref:`bob.ip.optflow.liu`
 * :ref:`bob.ip.optflow.hornschunck`
 * :ref:`bob.ip.flandmark`
+* :ref:`bob.ip.dlib`
 * :ref:`bob.ip.qualitymeasure`
 * :ref:`bob.ip.skincolorfilter`
 * :ref:`bob.ip.mtcnn`
@@ -230,9 +231,11 @@ Index of all Packages
    bob.ip.base <bob.ip.base/doc/index.rst>
    bob.ip.caffe_extractor <bob.ip.caffe_extractor/README.rst>
    bob.ip.color <bob.ip.color/doc/index.rst>
+   bob.ip.dlib <bob.ip.dlib/doc/index.rst>
    bob.ip.draw <bob.ip.draw/doc/index.rst>
    bob.ip.facedetect <bob.ip.facedetect/doc/index.rst>
-   bob.ip.flandmark <bob.ip.flandmark/doc/index.rst>
+   bob.ip.facelandmarks <bob.ip.facelandmarks/doc/index.rst>   
+   bob.ip.flandmark <bob.ip.flandmark/doc/index.rst>   
    bob.ip.gabor <bob.ip.gabor/doc/index.rst>
    bob.ip.mtcnn <bob.ip.mtcnn/README.rst>
    bob.ip.optflow.hornschunck <bob.ip.optflow.hornschunck/doc/index.rst>
diff --git a/doc/plot/detect_faces_mtcnn.py b/doc/plot/detect_faces_mtcnn.py
new file mode 120000
index 0000000..187ff7a
--- /dev/null
+++ b/doc/plot/detect_faces_mtcnn.py
@@ -0,0 +1 @@
+../bob.ip.tensorflow_extractor/doc/plot/detect_faces_mtcnn.py
\ No newline at end of file
diff --git a/doc/readme_index.rst b/doc/readme_index.rst
index eb321de..a01cc90 100644
--- a/doc/readme_index.rst
+++ b/doc/readme_index.rst
@@ -78,8 +78,10 @@ README of all Packages
    bob.ip.base <bob.ip.base/README.rst>
    bob.ip.caffe_extractor <bob.ip.caffe_extractor/README.rst>
    bob.ip.color <bob.ip.color/README.rst>
+   bob.ip.dlib <bob.ip.dlib/README.rst>   
    bob.ip.draw <bob.ip.draw/README.rst>
    bob.ip.facedetect <bob.ip.facedetect/README.rst>
+   bob.ip.facelandmarks <bob.ip.facelandmarks/README.rst>   
    bob.ip.flandmark <bob.ip.flandmark/README.rst>
    bob.ip.gabor <bob.ip.gabor/README.rst>
    bob.ip.mtcnn <bob.ip.mtcnn/README.rst>
diff --git a/requirements.txt b/requirements.txt
index e54de74..3d04ac2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -69,8 +69,10 @@ bob.io.video
 bob.ip.base
 bob.ip.caffe_extractor
 bob.ip.color
+bob.ip.dlib
 bob.ip.draw
 bob.ip.facedetect
+bob.ip.facelandmarks
 bob.ip.flandmark
 bob.ip.gabor
 bob.ip.mtcnn
-- 
GitLab