From ee039e6153fba125cf298eede5bc385cc285a7e2 Mon Sep 17 00:00:00 2001
From: Amir MOHAMMADI <amir.mohammadi@idiap.ch>
Date: Wed, 14 Jul 2021 14:22:16 +0200
Subject: [PATCH] Add a custom BOBRC file to customize the location of
 automated downloads This should prevents errors like
 https://gitlab.idiap.ch/bob/bob.bio.face/-/jobs/238053

---
 MANIFEST.in                     | 2 +-
 bob/devtools/constants.py       | 4 ++++
 bob/devtools/data/bobrc         | 3 +++
 bob/devtools/scripts/build.py   | 2 ++
 bob/devtools/scripts/graph.py   | 2 ++
 bob/devtools/scripts/rebuild.py | 2 ++
 bob/devtools/scripts/test.py    | 2 ++
 7 files changed, 16 insertions(+), 1 deletion(-)
 create mode 100644 bob/devtools/data/bobrc

diff --git a/MANIFEST.in b/MANIFEST.in
index 955321ac..dfcf47d2 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,4 +1,4 @@
 include LICENSE README.rst buildout.cfg version.txt
 recursive-include doc conf.py *.rst *.sh *.png *.ico *.crt
-recursive-include bob/devtools/data *.md *.yaml *.pem matplotlibrc
+recursive-include bob/devtools/data *.md *.yaml *.pem matplotlibrc bobrc
 recursive-include bob/devtools/templates conf.py *.rst *.png *.ico LICENSE COPYING MANIFEST.in .gitlab-ci.yml .gitignore *.cfg *.txt *.py *.yaml .flake8
diff --git a/bob/devtools/constants.py b/bob/devtools/constants.py
index 0c565550..c8ba2185 100644
--- a/bob/devtools/constants.py
+++ b/bob/devtools/constants.py
@@ -126,3 +126,7 @@ MATPLOTLIB_RCDIR = pkg_resources.resource_filename(__name__, "data")
 
 It is required for certain builds that use matplotlib functionality.
 """
+
+BOBRC_PATH = pkg_resources.resource_filename(__name__, "data", "bobrc")
+"""The path to custom Bob configuration file to be used during the CI
+"""
diff --git a/bob/devtools/data/bobrc b/bob/devtools/data/bobrc
new file mode 100644
index 00000000..67ee10a5
--- /dev/null
+++ b/bob/devtools/data/bobrc
@@ -0,0 +1,3 @@
+{
+    "bob_data_folder": "./bob_data",
+}
diff --git a/bob/devtools/scripts/build.py b/bob/devtools/scripts/build.py
index 99b859c1..52ba4eb8 100644
--- a/bob/devtools/scripts/build.py
+++ b/bob/devtools/scripts/build.py
@@ -21,6 +21,7 @@ from ..build import next_build_number
 from ..build import root_logger_protection
 from ..build import should_skip_build
 from ..constants import BASE_CONDARC
+from ..constants import BOBRC_PATH
 from ..constants import CONDA_BUILD_CONFIG
 from ..constants import CONDA_RECIPE_APPEND
 from ..constants import MATPLOTLIB_RCDIR
@@ -218,6 +219,7 @@ def build(
     conda_config = make_conda_config(config, python, append_file, condarc_options)
 
     set_environment("MATPLOTLIBRC", MATPLOTLIB_RCDIR)
+    set_environment("BOBRC", BOBRC_PATH)
 
     # setup BOB_DOCUMENTATION_SERVER environment variable (used for bob.extension
     # and derived documentation building via Sphinx)
diff --git a/bob/devtools/scripts/graph.py b/bob/devtools/scripts/graph.py
index 685ccec7..7c590444 100644
--- a/bob/devtools/scripts/graph.py
+++ b/bob/devtools/scripts/graph.py
@@ -10,6 +10,7 @@ from ..bootstrap import get_channels
 from ..bootstrap import set_environment
 from ..build import make_conda_config
 from ..constants import BASE_CONDARC
+from ..constants import BOBRC_PATH
 from ..constants import CONDA_BUILD_CONFIG
 from ..constants import CONDA_RECIPE_APPEND
 from ..constants import MATPLOTLIB_RCDIR
@@ -200,6 +201,7 @@ def graph(
     conda_config = make_conda_config(config, python, append_file, condarc_options)
 
     set_environment("MATPLOTLIBRC", MATPLOTLIB_RCDIR)
+    set_environment("BOBRC", BOBRC_PATH)
 
     # setup BOB_DOCUMENTATION_SERVER environment variable (used for bob.extension
     # and derived documentation building via Sphinx)
diff --git a/bob/devtools/scripts/rebuild.py b/bob/devtools/scripts/rebuild.py
index 501b3372..aa6b7ace 100644
--- a/bob/devtools/scripts/rebuild.py
+++ b/bob/devtools/scripts/rebuild.py
@@ -22,6 +22,7 @@ from ..build import next_build_number
 from ..build import root_logger_protection
 from ..build import should_skip_build
 from ..constants import BASE_CONDARC
+from ..constants import BOBRC_PATH
 from ..constants import CONDA_BUILD_CONFIG
 from ..constants import CONDA_RECIPE_APPEND
 from ..constants import MATPLOTLIB_RCDIR
@@ -211,6 +212,7 @@ def rebuild(
     conda_config = make_conda_config(config, python, append_file, condarc_options)
 
     set_environment("MATPLOTLIBRC", MATPLOTLIB_RCDIR)
+    set_environment("BOBRC", BOBRC_PATH)
 
     # setup BOB_DOCUMENTATION_SERVER environment variable (used for bob.extension
     # and derived documentation building via Sphinx)
diff --git a/bob/devtools/scripts/test.py b/bob/devtools/scripts/test.py
index d1f9c038..f5e55f70 100644
--- a/bob/devtools/scripts/test.py
+++ b/bob/devtools/scripts/test.py
@@ -14,6 +14,7 @@ from ..build import get_env_directory
 from ..build import make_conda_config
 from ..build import root_logger_protection
 from ..constants import BASE_CONDARC
+from ..constants import BOBRC_PATH
 from ..constants import CONDA_BUILD_CONFIG
 from ..constants import CONDA_RECIPE_APPEND
 from ..constants import MATPLOTLIB_RCDIR
@@ -189,6 +190,7 @@ def test(
     conda_config = make_conda_config(config, None, append_file, condarc_options)
 
     set_environment("MATPLOTLIBRC", MATPLOTLIB_RCDIR)
+    set_environment("BOBRC", BOBRC_PATH)
 
     # setup BOB_DOCUMENTATION_SERVER environment variable (used for bob.extension
     # and derived documentation building via Sphinx)
-- 
GitLab