name: test-build on: push: pull_request: permissions: contents: read jobs: standard: runs-on: ubuntu-latest name: Standard steps: - uses: actions/checkout@e2f20e631ae6d7dd3b768f56a5d2af784dd54791 - name: Install dependencies run: sudo apt-get install emacs autoconf libhdf5-dev - name: Install the latest TREXIO from the GitHub clone run: | git clone https://github.com/TREX-CoE/trexio.git cd trexio ./autogen.sh ./configure --prefix=/usr make -j 4 sudo make install - name: Build QMCkl run: | ./autogen.sh mkdir _build cd _build ../configure --enable-silent-rules make -j 4 sudo make install - name: Run test run: make -j 4 check working-directory: _build - name: Archive test log file if: failure() uses: actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2 with: name: test-report-ubuntu path: test-suite.log - name: Dist test run: make distcheck working-directory: _build - name: Setup the virtual environment run: | python3 -m venv --clear pyqmckl source pyqmckl/bin/activate - name: Install the Python requirements run: pip install -r requirements.txt working-directory: python - name: Install the Python API run: make python-install working-directory: _build - name: Test the Python API run: make python-test working-directory: _build debug: runs-on: ubuntu-latest name: Debug steps: - uses: actions/checkout@e2f20e631ae6d7dd3b768f56a5d2af784dd54791 - name: Install dependencies run: sudo apt-get install emacs autoconf libhdf5-dev - name: Install the latest TREXIO from the GitHub clone run: | git clone https://github.com/TREX-CoE/trexio.git cd trexio ./autogen.sh ./configure --prefix=/usr make -j 4 sudo make install - name: Build QMCkl in debug mode run: | ./autogen.sh mkdir _build_debug cd _build_debug ../configure --enable-debug --enable-silent-rules make -j2 - name: Run test run: make -j2 check working-directory: _build_debug - name: Archive test log file if: failure() uses: actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2 with: name: test-report-ubuntu-debug path: _build_debug/test-suite.log hpc: runs-on: ubuntu-latest name: HPC steps: - uses: actions/checkout@e2f20e631ae6d7dd3b768f56a5d2af784dd54791 - name: Install dependencies run: sudo apt-get install emacs autoconf libhdf5-dev - name: Install the latest TREXIO from the GitHub clone run: | git clone https://github.com/TREX-CoE/trexio.git cd trexio ./autogen.sh ./configure --prefix=/usr make -j 4 sudo make install - name: Compile QMCkl in HPC mode run: | ./autogen.sh mkdir _build_hpc cd _build_hpc ../configure --enable-hpc make -j2 - name: Run test run: make -j2 check working-directory: _build_hpc - name: Archive test log file if: failure() uses: actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2 with: name: test-report-ubuntu-debug path: _build_hpc/test-suite.log # x86_macos: # # runs-on: macos-latest # name: x86 MacOS latest # # steps: # - uses: actions/checkout@e2f20e631ae6d7dd3b768f56a5d2af784dd54791 # - name: install dependencies # run: brew install emacs hdf5 automake pkg-config # # - name: Symlink gfortran (macOS) # if: runner.os == 'macOS' # run: | # # make sure gfortran is available # # https://github.com/actions/virtual-environments/issues/2524 # # https://github.com/cbg-ethz/dce/blob/master/.github/workflows/pkgdown.yaml # sudo ln -s /usr/local/bin/gfortran-10 /usr/local/bin/gfortran # sudo mkdir /usr/local/gfortran # sudo ln -s /usr/local/Cellar/gcc@10/*/lib/gcc/10 /usr/local/gfortran/lib # gfortran --version # # - name: Install the latest TREXIO from the GitHub clone # run: | # git clone https://github.com/TREX-CoE/trexio.git # cd trexio # ./autogen.sh # ./configure --prefix=${PWD}/_install --enable-silent-rules # make -j 4 # make install # # - name: Test TREXIO # run: make -j 4 check # working-directory: trexio # # - name: Archive TREXIO test log file # if: failure() # uses: actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2 # with: # name: test-report-trexio-macos # path: trexio/test-suite.log # # - name: Build QMCkl # run: | # export PKG_CONFIG_PATH=${PWD}/trexio/_install/lib/pkgconfig:$PKG_CONFIG_PATH # ./autogen.sh # ./configure CC=gcc-10 FC=gfortran-10 --enable-silent-rules # make -j 4 # # - name: Run test # run: make -j 4 check # # - name: Archive test log file # if: failure() # uses: actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2 # with: # name: test-report-macos # path: test-suite.log