Modified scatter test to test all index and data types. #1107
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: GlobalArrays_CI | |
| on: [push, pull_request] | |
| jobs: | |
| build: | |
| if: "!contains(github.event.head_commit.message, 'ci skip')" | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-18.04, macos-10.15] | |
| experimental: [false] | |
| mpi_impl: | |
| - openmpi | |
| - mpich | |
| armci_network: | |
| - mpi3 | |
| - mpi-ts | |
| - ofi | |
| - armci | |
| - mpi-pr | |
| f77: | |
| - gfortran-9 | |
| cc: | |
| - clang | |
| - gcc-9 | |
| include: | |
| - os: ubuntu-16.04 | |
| experimental: true | |
| mpi_impl: mpich | |
| armci_network: mpi-pr | |
| f77: gfortran | |
| cc: gcc | |
| - os: ubuntu-20.04 | |
| experimental: true | |
| mpi_impl: mpich | |
| armci_network: mpi-ts | |
| config_opts: "--disable-f77 --enable-cxx" | |
| f77: gfortran-10 | |
| cc: gcc-10 | |
| - os: macos-10.15 | |
| experimental: true | |
| mpi_impl: mpich | |
| armci_network: mpi-ts | |
| config_opts: "--disable-static --enable-shared" | |
| f77: gfortran-10 | |
| cc: clang | |
| - os: macos-10.15 | |
| experimental: true | |
| use_cmake: "Y" | |
| mpi_impl: mpich | |
| armci_network: mpi-pr | |
| f77: gfortran-10 | |
| cc: clang | |
| - os: ubuntu-18.04 | |
| experimental: true | |
| use_cmake: "Y" | |
| mpi_impl: openmpi | |
| armci_network: mpi-pr | |
| f77: gfortran | |
| cc: gcc | |
| - os: ubuntu-20.04 | |
| experimental: true | |
| use_cmake: "Y" | |
| mpi_impl: openmpi | |
| armci_network: mpi-ts | |
| f77: gfortran | |
| cc: gcc | |
| exclude: | |
| - armci_network: mpi-pr | |
| mpi_impl: openmpi | |
| - armci_network: mpi3 | |
| mpi_impl: openmpi | |
| - armci_network: ofi | |
| mpi_impl: openmpi | |
| fail-fast: false | |
| env: | |
| MPI_IMPL: ${{ matrix.mpi_impl }} | |
| PORT: ${{ matrix.armci_network }} | |
| ARMCI_NETWORK: ${{ matrix.armci_network }} | |
| F77: ${{ matrix.f77 }} | |
| CC: ${{ matrix.cc }} | |
| CONFIG_OPTS: ${{ matrix.config_opts}} | |
| USE_CMAKE: ${{ matrix.use_cmake }} | |
| continue-on-error: ${{ matrix.experimental }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v2 | |
| with: | |
| fetch-depth: 40 | |
| - name: Cache install steps | |
| id: ga-cache-install | |
| uses: actions/cache@v2 | |
| env: | |
| cache-name: cache-install-steps | |
| with: | |
| # cache files are stored in `~/apps` on Linux/macOS | |
| path: apps | |
| key: ${{ runner.os }}-${{ matrix.mpi_impl}}-${{ matrix.armci_network}}-${{ matrix.cc }}-${{ matrix.f77 }}-${{ matrix.config_opts}}-ga-apps | |
| - name: install_packages | |
| run: | | |
| case "${{ matrix.os }}" in | |
| ubuntu*|jessie|stretch|buster) | |
| sudo apt-get update -q -y | |
| sudo apt-get install -q -y gfortran | |
| ;; | |
| macos*) | |
| brew update | |
| brew install gcc coreutils automake || true | |
| ;; | |
| esac | |
| - name: before_install | |
| if: steps.ga-cache-install.outputs.cache-hit != 'true' | |
| run: | | |
| pwd | |
| ls -lart | |
| mkdir -p $GITHUB_WORKSPACE/apps | |
| sh ./travis/install-autotools.sh $GITHUB_WORKSPACE/apps | |
| - name: install | |
| run: | | |
| export CI_ROOT=$GITHUB_WORKSPACE/apps | |
| ./travis/install-mpi.sh $CI_ROOT $MPI_IMPL | |
| if [[ "$PORT" == "ofi" ]]; then ./travis/install-libfabric.sh $CI_ROOT; else true; fi | |
| if [[ "$PORT" == "armci" ]]; then ./travis/install-armci-mpi.sh $CI_ROOT; else true; fi | |
| if [[ ( "$PORT" == "mpi-pr" ) && ( $(os) == "ubuntu-16.04" ) ]]; then ./travis/install-sicm.sh $HOME/no_cache; else true; fi | |
| - name: compile and test global arrays | |
| if: ${{ success() }} | |
| run: | | |
| ./travis/build-run.sh $GITHUB_WORKSPACE/apps $PORT $MPI_IMPL $USE_CMAKE | |
| - name: after_failure | |
| if: ${{ failure() }} | |
| run: | | |
| pwd | |
| ls | |
| find . -name config.log -exec cat {} ";" | |
| cat ./test-suite.log |