-
Notifications
You must be signed in to change notification settings - Fork 194
CI CD tools
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.
OS: Ubuntu Xenial 16.04 x64 - CPU: 2000MHz X4 - RAM: 12288 MB
#!/bin/sh
autoreconf -i \
&& ./configure --enable-download --enable-optim --disable-pastix --prefix=/builds/freefem-source-[develop-master] \
&& ./3rdparty/getall -a \
&& cd 3rdparty/ff-petsc \
&& sed -i 's/--download-pastix //g' Makefile \
&& make petsc-slepc \
&& cd - \
&& ./reconfigure \
&& make -j4 \
&& make check \
&& sudo make install
OS: Ubuntu Xenial 16.04 x64 - CPU: 2000MHz X4 - RAM: 12288 MB
#!/bin/sh
autoreconf -i \
&& ./configure --enable-download --enable-optim --disable-pastix --prefix=/builds/freefem-source-[develop-master] \
&& ./3rdparty/getall -a \
&& cd 3rdparty/ff-petsc \
&& sed -i 's/--download-pastix //g' Makefile \
&& make petsc-slepc \
&& cd - \
&& ./reconfigure \
&& make -j4 \
&& make check \
&& make install
OS: Apple Mac OS X 10.13 (64-bit) - CPU: 2000MHz X4 - RAM: 12288 MB
#!/bin/sh
autoreconf -i \
&& ./configure --enable-optim --enable-download --disable-pastix --prefix=/builds/freefem-source-[develop-master] \
&& ./3rdparty/getall -a \
&& make -j4 \
&& make check \
&& sudo make install
OS: Apple Mac OS X 10.9 (64-bit) - CPU: 2000MHz X4 - RAM: 12288 MB
#!/bin/sh
autoreconf -i \
&& ./configure --enable-optim --enable-download --disable-pastix --prefix=/builds/freefem-source-[develop-master] \
&& ./3rdparty/getall -a \
&& make -j4 \
&& make check
OS: Windows 7 (64-bit) - CPU: 2000MHz X2 - RAM: 4096 MB MSYS2 64bits
#!C:\msys64\usr\bin\bash.exe --login
source shell mingw64 && echo "SOURCED"
cd /c/builds/workspace/FreeFem-source-develop-Windows7-All
git clone https://github.com/FreeFem/FreeFem-sources.git -b [develop-master]
cd FreeFem-sources
autoreconf -i
./configure --enable-download --disable-pastix --disable-hips
./3rdparty/getall -a
make
make check
make install
OS: Windows 7 (64-bit) - CPU: 2000MHz X2 - RAM: 4096 MB MSYS2 32bits
#!C:\msys32\usr\bin\bash.exe --login
source shell mingw32 && echo "SOURCED"
cd /c/builds/workspace/FreeFem-source-master-Windows7-32
git clone https://github.com/FreeFem/FreeFem-sources.git -b develop
cd FreeFem-sources
autoreconf -i
./configure --enable-download --disable-pastix --disable-hips
./3rdparty/getall -a
make
make check
make install
The code style is reviewed with Codacy.
Result is displayed with a badge directly in the README.md
of master
and develop
branches.
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: __YOUREMAIL@DOMAIN.COM__
build_command_prepend: autoreconf -i && ./configure --enable-download --enable-optim --disable-pastix --prefix=/builds/freefem-source-master && ./3rdparty/getall -a
build_command: make
branch_pattern: master