Skip to content

Commit

Permalink
Merge pull request ECP-WarpX#7 from RevathiJambunathan/MergingMasterI…
Browse files Browse the repository at this point in the history
…ntoPulsarBranch_10March

Merging Master branch into PulsarBranch
  • Loading branch information
dwillcox committed Mar 13, 2020
2 parents 2dd3d74 + 9f3763f commit 82ad2fa
Show file tree
Hide file tree
Showing 334 changed files with 10,437 additions and 5,458 deletions.
10 changes: 10 additions & 0 deletions .github/workflows/source.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# Copyright 2019-2020 Axel Huebl, Maxence Thevenet
#
# This file is part of WarpX.
#
# License: BSD-3-Clause-LBNL

name: source

on: [push, pull_request]
Expand All @@ -9,6 +15,8 @@ jobs:

steps:
- uses: actions/checkout@v1
- name: Non-ASCII characters
run: .github/workflows/source/hasNonASCII
- name: TABs
run: .github/workflows/source/hasTabs
- name: End-of-Line whitespaces
Expand All @@ -17,6 +25,8 @@ jobs:
run: .github/workflows/source/wrongFileNameInExamples
- name: Examples are tested
run: .github/workflows/source/inputsNotTested
- name: Check that the test matrix for Travis includes all tests
run: .github/workflows/source/test_travis_matrix.sh
- name: Doxygen
run: |
sudo apt-get install -y --no-install-recommends doxygen
Expand Down
41 changes: 41 additions & 0 deletions .github/workflows/source/hasNonASCII
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/usr/bin/env bash
#
# Copyright 2016-2020 Axel Huebl
#
# License: BSD-3-Clause-LBNL

# Search recursive inside a folder if a shell scripts or batch system files
# contains non-ASCII characters. This causes problems with some systems.
# We can also not guarantee that everyone has UTF8 locales installed, so
# why depend on it.
#
# @result 0 if no files are found, else 1
#

ok=0

pattern="\.c$|\.cpp$|\.F90$|\.h$|\.H$|\.ini$|\.py$|"\
"\.sh$|\.tex$|\.txt$|\.xml$|\.yml$|"\
"CMakeLists\.txt|inputs"

for i in $(find . \
-not -path "./.git/*" \
-not -path "./.idea/*" \
-not -path "*wp_parse*" \
-type f | \
grep -P "${pattern}")
do
# non-ASCII test regex via jerrymouse at stackoverflow under CC-By-SA 3.0:
# http://stackoverflow.com/questions/3001177/how-do-i-grep-for-all-non-ascii-characters-in-unix/9395552#9395552
result=$(grep --color='always' -P -n "[\x80-\xFF]" $i)

if [ $? -eq 0 ]
then
echo "$i contains non-ASCII characters!"
echo "$result"
ok=1
fi
done

exit $ok

36 changes: 36 additions & 0 deletions .github/workflows/source/test_travis_matrix.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#! /usr/bin/env sh

set -e

cp .github/workflows/source/travis_matrix.py Regression/
cd Regression/

# Put the name of all travis tests into a text file
python prepare_file_travis.py
grep "\[" travis-tests.ini > travis_all_tests.txt

# Concatenate the names of all elements in Travis matrix into another test file
WARPX_CI_REGULAR_CARTESIAN=TRUE python prepare_file_travis.py
grep "\[" travis-tests.ini > travis_matrix_elements.txt
WARPX_CI_PSATD=TRUE python prepare_file_travis.py
grep "\[" travis-tests.ini >> travis_matrix_elements.txt
WARPX_CI_PYTHON_MAIN=TRUE python prepare_file_travis.py
grep "\[" travis-tests.ini >> travis_matrix_elements.txt
WARPX_CI_SINGLE_PRECISION=TRUE python prepare_file_travis.py
grep "\[" travis-tests.ini >> travis_matrix_elements.txt
WARPX_CI_RZ_OR_NOMPI=TRUE python prepare_file_travis.py
grep "\[" travis-tests.ini >> travis_matrix_elements.txt
WARPX_CI_QED=TRUE python prepare_file_travis.py
grep "\[" travis-tests.ini >> travis_matrix_elements.txt

# Check that the resulting lists are equal
{
python travis_matrix.py &&
rm travis_all_tests.txt travis_matrix_elements.txt travis_matrix.py &&
echo "test passed" &&
exit 0
} || {
rm travis_all_tests.txt travis_matrix_elements.txt travis_matrix.py &&
echo "tests failed" &&
exit 1
}
22 changes: 22 additions & 0 deletions .github/workflows/source/travis_matrix.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#! /usr/bin/env python

# Concatenation of tests in each of the 6 elements in Travis matrix
f = open('./travis_matrix_elements.txt') ; matrix_elements = f.readlines() ; f.close()
# All tests read by prepare_travis_tests.py
f = open('./travis_all_tests.txt') ; all_tests = f.readlines() ; f.close()

# Now let's make sure these two are equal

# Remove these elements from both lists, as they are are not test names
elements_to_remove = ['[main]\n', '[AMReX]\n', '[source]\n', '[extra-PICSAR]\n']
for element in elements_to_remove:
for x in range(matrix_elements.count(element)):
matrix_elements.remove(element)
for x in range(all_tests.count(element)):
all_tests.remove(element)

# Sort lists, and make sure they are equal
matrix_elements.sort()
all_tests.sort()

assert( matrix_elements == all_tests )
6 changes: 6 additions & 0 deletions .lgtm.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# Copyright 2019 Axel Huebl
#
# This file is part of WarpX.
#
# License: BSD-3-Clause-LBNL

extraction:
cpp:
prepare:
Expand Down
82 changes: 47 additions & 35 deletions .mailmap
Original file line number Diff line number Diff line change
@@ -1,35 +1,47 @@
Andrew Myers <atmyers@lbl.gov> Andrew Myers <atmyers2@gmail.com>
Andrew Myers <atmyers@lbl.gov> atmyers <atmyers2@gmail.com>
Aurore Blelly <ablelly@lbl.gov> ablelly <aurore.blelly@ensta-paristech.fr>
Aurore Blelly <ablelly@lbl.gov> ablelly <48810880+ablelly@users.noreply.github.com>
Axel Huebl <axelhuebl@lbl.gov> Axel Huebl <axel.huebl@plasma.ninja>
David Grote <dpgrote@lbl.gov> grote <dpgrote@lbl.gov>
David Grote <dpgrote@lbl.gov> Dave <grote1@llnl.gov>
David Grote <dpgrote@lbl.gov> Dave Grote <grote1@llnl.gov>
David Grote <dpgrote@lbl.gov> Grote <grote1@n9459722.llnl.gov>
Edoardo Zoni <ezoni@lbl.gov> Edoardo Zoni <edoardo.zoni@ipp.mpg.de>
Ligia Diana Amorim <ldianaamorim@lbl.gov> L. Diana Amorim <LDianaAmorim@lbl.gov>
Ligia Diana Amorim <ldianaamorim@lbl.gov> Diana Amorim <diana@henrivincenti.dhcp.lbl.gov>
Ligia Diana Amorim <ldianaamorim@lbl.gov> Ligia Diana Amorim <ligiada@cori01.nersc.gov>
Ligia Diana Amorim <ldianaamorim@lbl.gov> Ligia Diana Amorim <ligiada@cori11.nersc.gov>
Luca Fedeli <luca.fedeli@cea.fr> Luca Fedeli <luca.fedeli.88@gmail.com>
Luca Fedeli <luca.fedeli@cea.fr> lucafedeli88 <luca.fedeli@cea.fr>
Luca Fedeli <luca.fedeli@cea.fr> Luca Fedeli <luca@DEB.station>
Luca Fedeli <luca.fedeli@cea.fr> Luca Fedeli <luca.fedeli@for.unipi.it>
Luca Fedeli <luca.fedeli@cea.fr> Luca <luca@localhost.localdomain>
Mathieu Lobet <mathieu.lobet@cea.fr> Mathieu Lobet <mathieu.lobet@gmail.com>
Mathieu Lobet <mathieu.lobet@cea.fr> mathieu_lobet <mathieu.lobet@gmail.com>
Maxence Thevenet <mthevenet@lbl.gov> MaxThevenet <mthevenet@lbl.gov>
Maxence Thevenet <mthevenet@lbl.gov> Maxence Thévenet <mthevenet@lbl.gov>
Maxence Thevenet <mthevenet@lbl.gov> mthevenet <mthevenet@lbl.gov>
Remi Lehe <rlehe@lbl.gov> Remi Lehe <remi.lehe@normalesup.org>
Revathi Jambunathan <rjambunathan@lbl.gov> RevathiJambunathan <revanathan@gmail.com>
Revathi Jambunathan <rjambunathan@lbl.gov> RevathiJambunathan <rjnathan@cori12.nersc.gov>
Revathi Jambunathan <rjambunathan@lbl.gov> Revathi Jambunathan <revanathan@login2.summit.olcf.ornl.gov>
Revathi Jambunathan <rjambunathan@lbl.gov> Revathi Jambunathan <revanathan@login3.summit.olcf.ornl.gov>
Revathi Jambunathan <rjambunathan@lbl.gov> Revathi Jambunathan <revanathan@login4.summit.olcf.ornl.gov>
Revathi Jambunathan <rjambunathan@lbl.gov> Revathi Jambunathan <revanathan@login5.summit.olcf.ornl.gov>
Weiqun Zhang <weiqunzhang@lbl.gov> Weiqun Zhang <WeiqunZhang@lbl.gov>
Weiqun Zhang <weiqunzhang@lbl.gov> WeiqunZhang <WeiqunZhang@lbl.gov
Yinjian Zhao <yinjianzhao@lbl.gov> Yin-YinjianZhao <yinjianzhao@lbl.gov>
Yinjian Zhao <yinjianzhao@lbl.gov> Yin-YinjianZhao <56095356+Yin-YinjianZhao@users.noreply.github.com>
Andrew Myers <atmyers@lbl.gov> Andrew Myers <atmyers2@gmail.com>
Andrew Myers <atmyers@lbl.gov> atmyers <atmyers2@gmail.com>
Aurore Blelly <ablelly@lbl.gov> ablelly <aurore.blelly@ensta-paristech.fr>
Aurore Blelly <ablelly@lbl.gov> ablelly <48810880+ablelly@users.noreply.github.com>
Axel Huebl <axelhuebl@lbl.gov> Axel Huebl <axel.huebl@plasma.ninja>
David Bizzozero <dbizzozero@lbl.gov> dbizzozero <dbizzozero@users.noreply.github.com>
David Grote <dpgrote@lbl.gov> grote <dpgrote@lbl.gov>
David Grote <dpgrote@lbl.gov> Dave <grote1@llnl.gov>
David Grote <dpgrote@lbl.gov> Dave Grote <grote1@llnl.gov>
David Grote <dpgrote@lbl.gov> Grote <grote1@n9459722.llnl.gov>
Edoardo Zoni <ezoni@lbl.gov> Edoardo Zoni <edoardo.zoni@ipp.mpg.de>
Edoardo Zoni <ezoni@lbl.gov> Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Glenn Richardson <gtrichardson@berkeley.edu> gtrichardson <gtrichardson@berkeley.edu>
Jaehong Park <jaehongpark@lbl.gov> jaehongp <jaehong@jaehongs-mbp-10.attlocal.net>
Jean-Luc Vay <jlvay@lbl.gov> Jean-Luc Vay <jlvay@Jean-Lucs-MacBook-Pro.local>
Jean-Luc Vay <jlvay@lbl.gov> Jean-Luc Vay <jlvay@Jean-Lucs-MBP.dhcp.lbnl.us>
Jean-Luc Vay <jlvay@lbl.gov> Jean-Luc Vay <jlvay@jlvay2.lbl.gov>
Junmin Gu <jgu@lbl.gov> guj <guj@users.noreply.github.com>
Ligia Diana Amorim <ldianaamorim@lbl.gov> L. Diana Amorim <LDianaAmorim@lbl.gov>
Ligia Diana Amorim <ldianaamorim@lbl.gov> Diana Amorim <diana@henrivincenti.dhcp.lbl.gov>
Ligia Diana Amorim <ldianaamorim@lbl.gov> Ligia Diana Amorim <ligiada@cori01.nersc.gov>
Ligia Diana Amorim <ldianaamorim@lbl.gov> Ligia Diana Amorim <ligiada@cori11.nersc.gov>
Lixin Ge <lge@slac.stanford.edu> lixin <lge@slac.stanford.edu>
Luca Fedeli <luca.fedeli@cea.fr> Luca Fedeli <luca.fedeli.88@gmail.com>
Luca Fedeli <luca.fedeli@cea.fr> lucafedeli88 <luca.fedeli@cea.fr>
Luca Fedeli <luca.fedeli@cea.fr> Luca Fedeli <luca@DEB.station>
Luca Fedeli <luca.fedeli@cea.fr> Luca Fedeli <luca.fedeli@for.unipi.it>
Luca Fedeli <luca.fedeli@cea.fr> Luca <luca@localhost.localdomain>
Kevin Gott <kngott@lbl.gov> kngott <30483578+kngott@users.noreply.github.com>
Mathieu Lobet <mathieu.lobet@cea.fr> Mathieu Lobet <mathieu.lobet@gmail.com>
Mathieu Lobet <mathieu.lobet@cea.fr> mathieu_lobet <mathieu.lobet@gmail.com>
Maxence Thevenet <mthevenet@lbl.gov> MaxThevenet <mthevenet@lbl.gov>
Maxence Thevenet <mthevenet@lbl.gov> Maxence Thévenet <mthevenet@lbl.gov>
Maxence Thevenet <mthevenet@lbl.gov> mthevenet <mthevenet@lbl.gov>
Remi Lehe <rlehe@lbl.gov> Remi Lehe <remi.lehe@normalesup.org>
Revathi Jambunathan <rjambunathan@lbl.gov> RevathiJambunathan <revanathan@gmail.com>
Revathi Jambunathan <rjambunathan@lbl.gov> RevathiJambunathan <rjnathan@cori12.nersc.gov>
Revathi Jambunathan <rjambunathan@lbl.gov> Revathi Jambunathan <revanathan@login2.summit.olcf.ornl.gov>
Revathi Jambunathan <rjambunathan@lbl.gov> Revathi Jambunathan <revanathan@login3.summit.olcf.ornl.gov>
Revathi Jambunathan <rjambunathan@lbl.gov> Revathi Jambunathan <revanathan@login4.summit.olcf.ornl.gov>
Revathi Jambunathan <rjambunathan@lbl.gov> Revathi Jambunathan <revanathan@login5.summit.olcf.ornl.gov>
Revathi Jambunathan <rjambunathan@lbl.gov> Revathi Jambunathan <41089244+RevathiJambunathan@users.noreply.github.com>
Revathi Jambunathan <rjambunathan@lbl.gov> Revathi Jambunathan <rjnathan@cori12.nersc.gov>
Weiqun Zhang <weiqunzhang@lbl.gov> Weiqun Zhang <WeiqunZhang@lbl.gov>
Weiqun Zhang <weiqunzhang@lbl.gov> WeiqunZhang <WeiqunZhang@lbl.gov
Yinjian Zhao <yinjianzhao@lbl.gov> Yin-YinjianZhao <yinjianzhao@lbl.gov>
Yinjian Zhao <yinjianzhao@lbl.gov> Yin-YinjianZhao <56095356+Yin-YinjianZhao@users.noreply.github.com>
7 changes: 6 additions & 1 deletion .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# Copyright 2019-2020 Axel Huebl, Maxence Thevenet
#
# This file is part of WarpX.
#
# License: BSD-3-Clause-LBNL

requirements_file: Docs/requirements.txt

formats:
- htmlzip
40 changes: 28 additions & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,28 +1,44 @@
# Copyright 2018-2019 Axel Huebl, David Grote, Luca Fedeli
# Maxence Thevenet, Remi Lehe
#
# This file is part of WarpX.
#
# License: BSD-3-Clause-LBNL

dist: xenial
language: c++
sudo: true
cache: pip

env:
matrix:
- WARPX_TEST_DIM=3 HAS_QED=FALSE
- WARPX_TEST_DIM=RZ HAS_QED=FALSE
- WARPX_TEST_DIM=2 HAS_QED=FALSE
- HAS_QED=TRUE
- WARPX_CI_REGULAR_CARTESIAN=TRUE
- WARPX_CI_PSATD=TRUE
- WARPX_CI_PYTHON_MAIN=TRUE
- WARPX_CI_SINGLE_PRECISION=TRUE
- WARPX_CI_RZ_OR_NOMPI=TRUE
- WARPX_CI_QED=TRUE

before_install:
- sudo apt-get update
- sudo apt-get install -y gcc gfortran g++ openmpi-bin libopenmpi-dev libfftw3-dev libfftw3-mpi-dev
# Install miniconda and python dependencies
- wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
- bash Miniconda3-latest-Linux-x86_64.sh -b
- export PATH=/home/travis/miniconda3/bin:$PATH
- pip install --upgrade pip && pip install numpy scipy matplotlib mpi4py cython
- pip install git+https://github.com/yt-project/yt.git
- sudo apt-get install -y gcc gfortran g++ openmpi-bin libopenmpi-dev libfftw3-dev libfftw3-mpi-dev libhdf5-openmpi-dev pkg-config make python3 python3-pip python3-setuptools
# xenial misses "libadios-openmpi-dev"
- sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2
- sudo update-alternatives --set python /usr/bin/python3

install:
- python -m pip install --upgrade pip
- python -m pip install --upgrade cmake cython matplotlib mpi4py numpy scipy
- export CEI_CMAKE="/home/travis/.local/bin/cmake"
- python -m pip install --upgrade git+https://github.com/yt-project/yt.git
- sudo curl -L -o /usr/local/bin/cmake-easyinstall https://git.io/JvLxY && sudo chmod a+x /usr/local/bin/cmake-easyinstall

script:
- export FFTW_HOME=/usr/
- export OMP_NUM_THREADS=1

# Run the tests on the current commit
- export WARPX_TEST_COMMIT=$TRAVIS_COMMIT

# Run the script that prepares the test environment and runs the tests
- export OMP_NUM_THREADS=1
- ./run_test.sh
Loading

0 comments on commit 82ad2fa

Please sign in to comment.