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:
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
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
- 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
spreadsheet:
......@@ -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
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
$ git add buildout.cfg
```
## 4. README
## 5. README
Changes are supposed to make the README smaller and easier to maintain. As of
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
C++ and python.`
## 5. Bootstrap
## 6. Bootstrap
Make sure to **remove** your bootstrap file from your package. Since a few
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
`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
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):
resource**. You should first try to fix the errors as best as you can, so
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).
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