forked from HDFGroup/vol-tests
-
Notifications
You must be signed in to change notification settings - Fork 0
129 lines (124 loc) · 4.53 KB
/
cache.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
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