Skip to content

Commit

Permalink
Merge branch 'release-0.4.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
ax3l committed Oct 19, 2018
2 parents d8afdf3 + 3a6edcf commit 3c3b114
Show file tree
Hide file tree
Showing 2,450 changed files with 182,416 additions and 74,587 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,6 @@
# doxygen output
docs/xml/
docs/doxygen_sqlite3.db
docs/html/
# sphinx & breathe output
docs/build/
179 changes: 152 additions & 27 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,36 +1,161 @@
language: cpp
language: none
sudo: false
dist: trusty

script:
#############################################################################
# Disallow PRs to `ComputationalRadiationPhysics/picongpu` branch `master` #
# if not an other mainline branch such as `dev` or `release-...` #
#############################################################################
- . test/correctBranchPR
cache:
apt: true
directories:
- $HOME/.cache/spack
pip: true

#############################################################################
# Conformance with Alpaka: Do not write __global__ CUDA kernels directly #
#############################################################################
- test/hasCudaGlobalKeyword src/libPMacc
- test/hasCudaGlobalKeyword src/picongpu
- test/hasCudaGlobalKeyword examples
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
- gfortran-4.9 # spack OpenMPI dependency
- environment-modules
- openmpi-bin
- libopenmpi-dev
# clang 5.0.0 is pre-installed
# - clang-tidy-3.9

#############################################################################
# Disallow end-of-line (EOL) white spaces #
#############################################################################
- test/hasEOLwhiteSpace
env:
global:
- SPACK_ROOT: $HOME/.cache/spack
- PATH: $PATH:$HOME/.cache/spack/bin
- CXXFLAGS: "-std=c++11"

install:
#############################################################################
# Disallow TABs, use white spaces #
# PMacc CPU-only dependencies #
#############################################################################
- test/hasTabs
- SPACK_FOUND=$(which spack >/dev/null && { echo 0; } || { echo 1; })
- if [ $SPACK_FOUND -ne 0 ]; then
mkdir -p $SPACK_ROOT &&
git clone --depth 50 https://github.com/spack/spack.git $SPACK_ROOT &&
echo -e "config:""\n build_jobs:"" 2" > $SPACK_ROOT/etc/spack/config.yaml;
fi
- spack compiler add
- travis_wait spack install
cmake@3.10.0~openssl~ncurses
$COMPILERSPEC
- travis_wait spack install
boost@1.62.0~date_time~graph~iostreams~locale~log~random~thread~timer~wave
$COMPILERSPEC
- spack clean -a
- source /etc/profile &&
source $SPACK_ROOT/share/spack/setup-env.sh
- spack load cmake $COMPILERSPEC
- spack load boost $COMPILERSPEC

#############################################################################
# Disallow non-ASCII in source files and scripts #
#############################################################################
- test/hasNonASCII
jobs:
fast_finish: true
include:
- stage: 'Target Branch'
install: skip
script:
#############################################################################
# Disallow PRs to `ComputationalRadiationPhysics/picongpu` branch `master` #
# if not an other mainline branch such as `dev` or `release-...` #
#############################################################################
- . test/correctBranchPR
- &style-python
stage: 'Style'
language: python
python: "2.7"
install: pip install -U flake8
script:
#############################################################################
# Test Python Files for PEP8 conformance #
#############################################################################
- flake8 --exclude=thirdParty .
- <<: *style-python
python: "3.6"
- install: skip
language: cpp
script:
#############################################################################
# Conformance with Alpaka: Do not write __global__ CUDA kernels directly #
#############################################################################
- test/hasCudaGlobalKeyword include/pmacc
- test/hasCudaGlobalKeyword share/pmacc/examples
- test/hasCudaGlobalKeyword include/picongpu
- test/hasCudaGlobalKeyword share/picongpu/examples

#############################################################################
# Disallow spaces before pre-compiler macros #
#############################################################################
- test/hasSpaceBeforePrecompiler
#############################################################################
# Disallow end-of-line (EOL) white spaces #
#############################################################################
- test/hasEOLwhiteSpace

#############################################################################
# Disallow TABs, use white spaces #
#############################################################################
- test/hasTabs

#############################################################################
# Disallow non-ASCII in source files and scripts #
#############################################################################
- test/hasNonASCII

#############################################################################
# Disallow spaces before pre-compiler macros #
#############################################################################
- test/hasSpaceBeforePrecompiler

#############################################################################
# Enforce angle brackets <...> for includes of external library files #
#############################################################################
- test/hasExtLibIncludeBrackets include boost
- test/hasExtLibIncludeBrackets include alpaka
- test/hasExtLibIncludeBrackets include cupla
- test/hasExtLibIncludeBrackets include splash
- test/hasExtLibIncludeBrackets include mallocMC
- test/hasExtLibIncludeBrackets include/picongpu pmacc
- test/hasExtLibIncludeBrackets share/picongpu/examples pmacc
- test/hasExtLibIncludeBrackets share/picongpu/examples boost
- test/hasExtLibIncludeBrackets share/picongpu/examples alpaka
- test/hasExtLibIncludeBrackets share/picongpu/examples cupla
- test/hasExtLibIncludeBrackets share/picongpu/examples splash
- test/hasExtLibIncludeBrackets share/picongpu/examples mallocMC
- test/hasExtLibIncludeBrackets share/pmacc/examples pmacc
- &static-code-python
stage: 'Static Code Analysis'
language: python
python: "2.7"
install: pip install -U pyflakes
script:
#############################################################################
# Warnings, unused code, etc. #
#############################################################################
- pyflakes .
- <<: *static-code-python
python: "3.6"
- &test-cpp-unit
stage: 'C++ Unit Tests'
language: cpp
env: [ COMPILERSPEC='%gcc@4.9.4' ]
before_install:
- export CXX=g++-4.9
- export CC=gcc-4.9
- export FC=gfortran-4.9
script:
- $CXX --version
- $CC --version
- $FC --version
#############################################################################
# PMacc CPU-only tests #
#############################################################################
- mkdir -p $HOME/build
- cd $HOME/build
- cmake $TRAVIS_BUILD_DIR/include/pmacc
-DALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLE=ON
- make -j 2
# - make test # reduce memory and RT costs first
- <<: *test-cpp-unit
env: [ COMPILERSPEC='%clang@5.0.0' ]
before_install:
- export CXX=clang++
- export CC=clang
- export FC=gfortran-4.9
Loading

0 comments on commit 3c3b114

Please sign in to comment.