Skip to content

Merge branch 'devel' of https://github.com/jcosborn/qex into devel #443

Merge branch 'devel' of https://github.com/jcosborn/qex into devel

Merge branch 'devel' of https://github.com/jcosborn/qex into devel #443

Workflow file for this run

name: test
on:
pull_request:
push:
branches:
- 'devel'
- 'master'
jobs:
build:
strategy:
matrix:
mpi-impl: [openmpi, mpich]
nim-branch: [version-1-6, version-2-0, devel]
fuel-compat: [0, 1]
fail-fast: false
name: nim-${{ matrix.nim-branch }}-${{ matrix.mpi-impl }}-FUELCompat:${{ matrix.fuel-compat }}
runs-on: ubuntu-22.04
steps:
- name: environment
run: |
echo "FUELCompat=${{ matrix.fuel-compat }}" >> $GITHUB_ENV
sudo sh -c 'echo %e.core.%p.%t > /proc/sys/kernel/core_pattern'
- name: install packages
run: |
sudo apt-get update
sudo apt-get install numdiff hwloc-nox libhwloc-dev gdb
if test ${{ matrix.mpi-impl }} = openmpi; then sudo apt-get install openmpi-bin libopenmpi-dev; fi
if test ${{ matrix.mpi-impl }} = mpich; then sudo apt-get install mpich libmpich-dev; fi
- name: install hwloc v2
run: |
curl -LO https://download.open-mpi.org/release/hwloc/v2.2/hwloc-2.2.0.tar.bz2
tar xf hwloc-2.2.0.tar.bz2
cd hwloc*/
./configure --prefix="$PWD/../hwloc-v2" --disable-opencl --disable-netloc --disable-cairo
make -j $(nproc)
make install
- name: set path to hwloc v2
run: |
echo "${{ github.workspace }}/hwloc-v2/bin" >> $GITHUB_PATH
echo "LD_LIBRARY_PATH=${{ github.workspace }}/hwloc-v2/lib" >> $GITHUB_ENV
- name: system info
run: |
free
cat /proc/cpuinfo
hwloc-ls
gcc -v
mpicc -v
cat /proc/sys/kernel/core_pattern
- name: checkout Nim
uses: actions/checkout@v3
with:
repository: nim-lang/Nim
ref: ${{ matrix.nim-branch }}
path: Nim
- name: set path to nim
run: echo "${{ github.workspace }}/Nim/bin" >> $GITHUB_PATH
- name: build Nim & nimble
working-directory: Nim
run: |
. ci/funs.sh
nimBuildCsourcesIfNeeded
./bin/nim c --noNimblePath --skipUserCfg --skipParentCfg --hints:off koch
./koch boot -d:release -d:danger --skipUserCfg --skipParentCfg --hints:off
./koch nimble -d:release -d:danger --skipUserCfg --skipParentCfg --hints:off
- name: checkout
uses: actions/checkout@v3
with:
path: qex
- name: install nimble dependencies
working-directory: qex
run: nimble install -dy
- name: install qmp & qio
working-directory: qex
run: ./bootstrap-travis
- name: configure
working-directory: qex
run: QMPDIR=qmp QIODIR=qio ./configure
- name: make tests
working-directory: qex
run: make tests
- name: testscript
working-directory: qex
run: |
ulimit -c unlimited
CLEANUPJOBS=./finalizeTests ./testscript.sh
- name: runtests
working-directory: qex
run: |
ulimit -c unlimited
CLEANUPJOBS=./finalizeTests ./runtests.sh
- name: make bench
working-directory: qex
run: make bench
- name: benchLinalg
working-directory: qex
run: bin/benchLinalg