Skip to content

CI CD tools

Simon Garnotel edited this page Apr 11, 2018 · 9 revisions

Jenkins

The INRIA Jenkins server is used for the CI/CD integration of the source code.

Compilation results are displayed with badges directly in the README.md of master and develop branches.

Codacy

The code style is reviewed with Codacy.

Result is displayed with a badge directly in the README.md of master and develop branches.

Coverity

Sign in Travis.

Sign in with GitHub in Coverity.

In My Dashboard, add a new project, click on Register my GitHub project and choose a repository.

Copy the project token in Project Settings and generate a key using:

sudo gem install travis
travis encrypt -r FreeFem/FreeFem-sources COVERITY_SCAN_TOKEN=__KEY__

Copy the generated key in the .travis.yml file at the root of your GitHub repository.

Example:

language: cpp

script: echo "done"

env:
  global:
   # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
   #   via the "travis encrypt" command using the project repo's public key
   - secure: "__GENERATEDKEY__"
   
before_install:
  - sudo apt-get -qq update
  - sudo apt-get install -y g++ gcc gfortran ghostscript m4 make patch pkg-config wget python unzip libopenblas-dev liblapack-dev libhdf5-dev libscotch-dev libfftw3-dev libarpack2-dev libsuitesparse-dev libmumps-seq-dev libnlopt-dev coinor-libipopt-dev libgmm++-dev libtet1.5-dev gnuplot-qt autoconf automake autotools-dev bison flex gdb valgrind git cmake mpich
  - echo -n | openssl s_client -connect https://scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-

addons:
  coverity_scan:
    project:
      name: FreeFem/FreeFem-sources
      description: freefem
    notification_email: [email protected]__
    build_command_prepend: autoreconf -i && ./configure --enable-download --enable-optim --disable-pastix --prefix=/builds/freefem-source-master && ./download/getall -a
    build_command: make
    branch_pattern: master
Clone this wiki locally