Skip to content
Matias Elo edited this page Feb 18, 2019 · 51 revisions

Introduction

The best source for general ODP information is opendataplane.org, this wiki focusses on development related subjects.

This repository contains the odp-linux implementation of the ODP API, it’s focus is to provide a clear reference implementation of the ODP API rather than an optimal implimentation on a given platform. Other implementations can be found at odp implimentation downloads

Travis CI

Travis CI uses docker containers to reach following requirements:

  1. Not relay on distro package hosting.

  2. Be able to locally reproduce any CI run task.

To build container Docker images and upload them to cloud we use following project: https://github.com/Linaro/odp-docker-images Distrobutive environment described in Dockerfile file. There is very simple .travis.yml file to build image and upload it to hub.docker.com. By default it uses "opendataplane" hub.docker.com group.

To run docker locally it’s needed:

  1. install Docker (apt-get install docker.io)

  2. cd to odp source directory

  3. copy paste run command from Travis run, for example:

    docker run  -i -t -v `pwd`:/odp -e CC=clang opendataplane/travis-odp-lng-ubuntu_16.04 /odp/scripts/ci/build_x86_64.sh

Where:

  • -i - means interactive. (For debug you can specify /bin/bash and run /odp/scripts/ci/build_x86_64.sh manually inside container. On exit from container all containers data will be lost.)

  • -t, --tty Allocate a pseudo-TTY to make output visible on stdout,stderr.

  • -v pwd:/odp - means pass current host directory to container. (Directory is rw shared between host and container.)

  • -e CC=clang - pass environment variable inside container

  • opendataplane/travis-odp-lng-ubuntu_16.04 - container name on hub.docker.com to run

  • /odp/scripts/ci/build_x86_64.sh - the latest parameter is command to run after container started.

To run Travis on custom images you need:

  1. Create account on hub.docker.com

  2. Fork https://github.com/Linaro/odp-docker-images project to your local name space.

  3. In Travis web interface settings for your forked project define variables:

    • DOCKER_USERNAME - login to hub.docker.com

    • DOCKER_PASSWORD - password to hub.docker.com

    • DOCKER_NAMESPACE - name spase on hub.docker.com (same as user name for private images)

  4. In you ODP project, in Travis web interface settings specify DOCKER_NAMESPACE pointing to your account on hub.docker.com.

Note: docker downloads and prepares images on first run. Like git you need to do periodic 'docker pull' images in case if images were updated on cloud server.

Details on regression, go to site

CI master branch

Codecov

Detailed anaysis, go to site

Codecov
Clone this wiki locally