Skip to content
Snippets Groups Projects
Commit a6927493 authored by Amir MOHAMMADI's avatar Amir MOHAMMADI
Browse files

Merge branch '87-add-documentation-to-integrate-new-package-dependencies-in-the-ci' into 'master'

Resolve "Add documentation to integrate new package dependencies in the CI"

Closes #87

See merge request !90
parents 5d94700b d13ce7b5
No related branches found
No related tags found
1 merge request!90Resolve "Add documentation to integrate new package dependencies in the CI"
...@@ -52,7 +52,65 @@ You also need to enable the following options on your project: ...@@ -52,7 +52,65 @@ You also need to enable the following options on your project:
of `coverage report` of `coverage report`
## 1.5 Conda recipe #### New package dependencies
If your package depends on third-party packages that are not in the CI, you should
perform some extra steps:
1. add the package in the ``meta.yml`` file of bob-devel in ``bob.conda/conda/bob-devel``
```yaml
requirements:
host:
- python {{ python }}
- {{ compiler('c') }}
- {{ compiler('cxx') }}
# Dependency list of bob packages. Everything is pinned to allow for better
# reproducibility. Please keep this list sorted. It is recommended that you
# update all dependencies at once (to their latest version) each time you
# modify the dependencies here. Use ``conda search`` to find the latest
# version of packages.
- boost 1.65.1
- caffe 1.0 # [linux]
- click 6.7
- click-plugins 1.0.3
- ..
- [your dependency here]
```
2. in the same file, update the version with the current date.
```yaml
package:
name: bob-devel
version: 2018.05.02 <-- HERE
```
3. update the beat-devel and bob-devel version in the ``meta.yml`` file in ``bob.conda/conda/beat-devel``
```yaml
package:
name: beat-devel
version: 2018.05.02 <-- HERE
[...]
requirements:
host:
- python {{ python }}
- bob-devel 2018.05.02 <-- HERE
- requests 2.18.4
```
4. update the ``conda_build_config.yaml`` in ``bob.admin/gitlab/`` with your dependencies,
and with the updated version of bob-devel and beat-devel.
see [here](https://gitlab.idiap.ch/bob/bob.conda/merge_requests/363) and [here](https://gitlab.idiap.ch/bob/bob.admin/merge_requests/89)
for concrete examples on how to do this.
**Note that this step should be performed after bob.conda's pipeline on master is finished**
(i.e. perform steps 1 to 3 in a branch, open a merge request and wait for it to be merged, and wait
for the new master branch to be "green").
## 2. Conda recipe
The CI system is based on conda recipes to build the package. The recipes must The CI system is based on conda recipes to build the package. The recipes must
be located in the `conda` folder of each package. You can start modifying the be located in the `conda` folder of each package. You can start modifying the
...@@ -300,7 +358,7 @@ packages typically require this download command to be added in the ...@@ -300,7 +358,7 @@ packages typically require this download command to be added in the
- bob_dbmanage.py {{ name.replace('bob.db.', '') }} download --missing - bob_dbmanage.py {{ name.replace('bob.db.', '') }} download --missing
``` ```
## 2. Licensing ## 3. Licensing
Verify if the license of your package satisfies what is written on our Verify if the license of your package satisfies what is written on our
spreadsheet: spreadsheet:
...@@ -376,7 +434,7 @@ $ sed -i "s;github.com/bioidiap;gitlab.idiap.ch/bob;g" setup.py ...@@ -376,7 +434,7 @@ $ sed -i "s;github.com/bioidiap;gitlab.idiap.ch/bob;g" setup.py
``` ```
## 3. Buildout ## 4. Buildout
The default buildout file `buildout.cfg` should buildout _from the installed The default buildout file `buildout.cfg` should buildout _from the installed
distribution_ and avoid mr.developer checkouts. If you have one of those, move distribution_ and avoid mr.developer checkouts. If you have one of those, move
...@@ -392,7 +450,7 @@ $ sed -i "s;github.com/bioidiap;gitlab.idiap.ch/bob;g" develop.cfg ...@@ -392,7 +450,7 @@ $ sed -i "s;github.com/bioidiap;gitlab.idiap.ch/bob;g" develop.cfg
$ git add buildout.cfg $ git add buildout.cfg
``` ```
## 4. README ## 5. README
Changes are supposed to make the README smaller and easier to maintain. As of Changes are supposed to make the README smaller and easier to maintain. As of
today, many packages contain outdated installation instructions or outdated today, many packages contain outdated installation instructions or outdated
...@@ -422,7 +480,7 @@ Replace the following tags by hand if you don't like/trust the `sed` lines above ...@@ -422,7 +480,7 @@ Replace the following tags by hand if you don't like/trust the `sed` lines above
C++ and python.` C++ and python.`
## 5. Bootstrap ## 6. Bootstrap
Make sure to **remove** your bootstrap file from your package. Since a few Make sure to **remove** your bootstrap file from your package. Since a few
releases, buildout is not supposed to be bootstrapped anymore as setuptools releases, buildout is not supposed to be bootstrapped anymore as setuptools
...@@ -432,7 +490,7 @@ Also make sure to remove any mention of `bootstrap-buildout.py` from the ...@@ -432,7 +490,7 @@ Also make sure to remove any mention of `bootstrap-buildout.py` from the
`MANIFEST.in` file. `MANIFEST.in` file.
## 6. doc/conf.py ## 7. doc/conf.py
This file needs updating to support newer versions of Sphinx and to get it in This file needs updating to support newer versions of Sphinx and to get it in
sync with the rest of the documentation. Do this: sync with the rest of the documentation. Do this:
...@@ -469,6 +527,6 @@ text files to be placed along `conf.py` (on the same directory): ...@@ -469,6 +527,6 @@ text files to be placed along `conf.py` (on the same directory):
resource**. You should first try to fix the errors as best as you can, so resource**. You should first try to fix the errors as best as you can, so
your documentation links are properly working. your documentation links are properly working.
## 7. Update the logo on your project ## 8. Update the logo on your project
Please update the logo of your project (on the Settings), just set it to [this one](templates/bob-128x128.png). Please update the logo of your project (on the Settings), just set it to [this one](templates/bob-128x128.png).
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment