Skip to content

Test string encodings in dsets and attrs (#64) #21

Test string encodings in dsets and attrs (#64)

Test string encodings in dsets and attrs (#64) #21

Workflow file for this run

name: Test HDF5 cache VOL
# Controls when the action will run.
on:
push:
branches: [ master ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
steps:
- name: Checkout vol-tests
uses: actions/checkout@v2
- name: Checkout HDF5
uses: actions/checkout@v2
with:
repository: HDFGroup/hdf5
path: hdf5
- name: Checkout Argobots
uses: actions/checkout@v3
with:
repository: pmodels/argobots
path: abt
- name: Checkout vol-async
uses: actions/checkout@v3
with:
repository: hpc-io/vol-async
path: vol-async
- name: Checkout vol-cache
uses: actions/checkout@v3
with:
repository: hpc-io/vol-cache
path: vol-cache
- name: Install dependencies
run: sudo apt-get install ninja-build automake autoconf libtool libtool-bin libopenmpi-dev
- name: Install HDF5
run: |
mkdir hdf5/build
cd hdf5/build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_STATIC_LIBS=OFF -DHDF5_ENABLE_PARALLEL:BOOL=ON -DHDF5_ENABLE_THREADSAFE:BOOL=ON -DALLOW_UNSUPPORTED:BOOL=ON ..
sudo make -j2 install
cd ..
git rev-parse HEAD > git.txt
- name: Install Argobots
run: |
cd abt
./autogen.sh
./configure --prefix=/usr/local
make -j2
sudo make -j2 install
cd ..
- name: Install vol-async
env:
CXX: mpic++
CC: mpicc
run: |
mkdir vol-async/build
cd vol-async/build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j2 install
cd ..
- name: Install vol-cache
env:
CXX: mpic++
CC: mpicc
run: |
mkdir vol-cache/build
cd vol-cache/build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_TESTING:BOOL=ON -DCMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j2 install
cd ..
- name: Build VOL tests
run: |
pwd
ls
ls /usr/local/lib
set
mkdir -p build
cd build
cmake .. -DHDF5_DIR=/usr/local -DHDF5_VOL_TEST_ENABLE_PARALLEL:BOOL=ON -DHDF5_VOL_TEST_ENABLE_ASYNC:BOOL=ON -DHDF5_VOL_TEST_ENABLE_PART:BOOL=ON
make -j2
- name: Test against VOL tests (setup environment)
run: |
echo "HDF5_PLUGIN_PATH=/usr/local/lib" >> "$GITHUB_ENV"
echo "HDF5_VOL_CONNECTOR=cache_ext config=$GITHUB_WORKSPACE/config1.cfg;under_vol=0;under_info={};" >> "$GITHUB_ENV"
- name: Test against VOL tests
env:
LD_LIBRARY_PATH: /usr/local/lib
HDF5_PLUGIN_PATH: /usr/local/lib
run: |
mkdir -p $GITHUB_WORKSPACE/scratch
touch $GITHUB_WORKSPACE/config1.cfg
echo "HDF5_CACHE_STORAGE_SCOPE: LOCAL" >> $GITHUB_WORKSPACE/config1.cfg
echo "HDF5_CACHE_STORAGE_PATH: $GITHUB_WORKSPACE/scratch" >> $GITHUB_WORKSPACE/config1.cfg
echo "HDF5_CACHE_STORAGE_SIZE: 4294967296" >> $GITHUB_WORKSPACE/config1.cfg
echo "HDF5_CACHE_STORAGE_TYPE: SSD" >> $GITHUB_WORKSPACE/config1.cfg
echo "HDF5_CACHE_REPLACEMENT_POLICY: LRU" >> $GITHUB_WORKSPACE/config1.cfg
cd build
ctest -V
- name: Test against VOL tests (stacked on top of Async VOL) (setup environment)
run: |
echo "HDF5_PLUGIN_PATH=/usr/local/lib" >> "$GITHUB_ENV"
echo "HDF5_VOL_CONNECTOR=cache_ext config=$GITHUB_WORKSPACE/config2.cfg;under_vol=512;under_info={under_vol=0;under_info={}};" >> $GITHUB_ENV
- name: Test against VOL tests (stacked on top of Async VOL)
env:
LD_LIBRARY_PATH: /usr/local/lib
HDF5_PLUGIN_PATH: /usr/local/lib
run: |
mkdir -p $GITHUB_WORKSPACE/scratch
touch $GITHUB_WORKSPACE/config2.cfg
echo "HDF5_CACHE_STORAGE_SCOPE: LOCAL" >> $GITHUB_WORKSPACE/config2.cfg
echo "HDF5_CACHE_STORAGE_PATH: $GITHUB_WORKSPACE/scratch" >> $GITHUB_WORKSPACE/config2.cfg
echo "HDF5_CACHE_STORAGE_SIZE: 4294967296" >> $GITHUB_WORKSPACE/config2.cfg
echo "HDF5_CACHE_STORAGE_TYPE: SSD" >> $GITHUB_WORKSPACE/config2.cfg
echo "HDF5_CACHE_REPLACEMENT_POLICY: LRU" >> $GITHUB_WORKSPACE/config2.cfg
cd build
ctest -V
- name: Upload
uses: actions/upload-artifact@v2
with:
name: git.txt
path: ${{ runner.workspace }}/vol-tests/hdf5/git.txt