1name: CI 2 3on: 4 # allows us to run workflows manually 5 workflow_dispatch: 6 7 pull_request: 8 branches: 9 - develop 10 - master 11 push: 12 branches: 13 - develop 14 - master 15 16env: 17 MPI_DIR: /usr 18 HDF5_ROOT: /usr 19 OMP_NUM_THREADS: 2 20 COVERALLS_PARALLEL: true 21 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 22 23 24jobs: 25 main: 26 runs-on: ubuntu-20.04 27 strategy: 28 matrix: 29 python-version: [3.8] 30 mpi: [n, y] 31 omp: [n, y] 32 dagmc: [n] 33 libmesh: [n] 34 event: [n] 35 vectfit: [n] 36 37 include: 38 - python-version: 3.6 39 omp: n 40 mpi: n 41 - python-version: 3.7 42 omp: n 43 mpi: n 44 - dagmc: y 45 python-version: 3.8 46 mpi: y 47 omp: y 48 - libmesh: y 49 python-version: 3.8 50 mpi: y 51 omp: y 52 - libmesh: y 53 python-version: 3.8 54 mpi: n 55 omp: y 56 - event: y 57 python-version: 3.8 58 omp: y 59 mpi: n 60 - vectfit: y 61 python-version: 3.8 62 omp: n 63 mpi: y 64 name: 'Python ${{ matrix.python-version }} (omp=${{ matrix.omp }}, 65 mpi=${{ matrix.mpi }}, dagmc=${{ matrix.dagmc }}, 66 libmesh=${{ matrix.libmesh }}, event=${{ matrix.event }} 67 vectfit=${{ matrix.vectfit }})' 68 69 env: 70 MPI: ${{ matrix.mpi }} 71 PHDF5: ${{ matrix.mpi }} 72 OMP: ${{ matrix.omp }} 73 DAGMC: ${{ matrix.dagmc }} 74 EVENT: ${{ matrix.event }} 75 VECTFIT: ${{ matrix.vectfit }} 76 LIBMESH: ${{ matrix.libmesh }} 77 78 steps: 79 - uses: actions/checkout@v2 80 81 - 82 name: Set up Python ${{ matrix.python-version }} 83 uses: actions/setup-python@v2 84 with: 85 python-version: ${{ matrix.python-version }} 86 - 87 name: Environment Variables 88 run: | 89 echo "DAGMC_ROOT=$HOME/DAGMC" 90 echo "OPENMC_CROSS_SECTIONS=$HOME/nndc_hdf5/cross_sections.xml" >> $GITHUB_ENV 91 echo "OPENMC_ENDF_DATA=$HOME/endf-b-vii.1" >> $GITHUB_ENV 92 93 - 94 name: Apt dependencies 95 shell: bash 96 run: | 97 sudo apt -y update 98 sudo apt install -y libmpich-dev \ 99 libnetcdf-dev \ 100 libpnetcdf-dev \ 101 libhdf5-serial-dev \ 102 libhdf5-mpich-dev \ 103 libeigen3-dev 104 sudo update-alternatives --set mpi /usr/bin/mpicc.mpich 105 sudo update-alternatives --set mpirun /usr/bin/mpirun.mpich 106 sudo update-alternatives --set mpi-x86_64-linux-gnu /usr/include/x86_64-linux-gnu/mpich 107 108 - 109 name: install 110 shell: bash 111 run: | 112 echo "$HOME/NJOY2016/build" >> $GITHUB_PATH 113 $GITHUB_WORKSPACE/tools/ci/gha-install.sh 114 - 115 name: before 116 shell: bash 117 run: $GITHUB_WORKSPACE/tools/ci/gha-before-script.sh 118 - 119 name: test 120 shell: bash 121 run: $GITHUB_WORKSPACE/tools/ci/gha-script.sh 122 123 - 124 name: after_success 125 shell: bash 126 run: | 127 cpp-coveralls -i src -i include --exclude-pattern "/usr/*" --dump cpp_cov.json 128 coveralls --merge=cpp_cov.json --service=github 129 130 finish: 131 needs: main 132 runs-on: ubuntu-latest 133 steps: 134 - name: Coveralls Finished 135 uses: coverallsapp/github-action@master 136 with: 137 github-token: ${{ secrets.github_token }} 138 parallel-finished: true 139