-
Notifications
You must be signed in to change notification settings - Fork 9
103 lines (91 loc) · 3.13 KB
/
main.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
name: hdf5-iotest
# Controls when the action will run.
#Triggers the workflow on push or pull requests.
on:
push:
branches: [ liblink ]
pull_request:
branches: [ liblink ]
# A workflow run is made up of one or more jobs that
# can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
strategy:
matrix:
name: ["Ubuntu Latest GCC", "Ubuntu Latest GCC -- develop"]
include:
- name: "Ubuntu Latest GCC"
artifact: "Linux.tar.xz"
os: ubuntu-latest
hdf5: "release"
- name: "Ubuntu Latest GCC -- develop"
artifact: "Linux.tar.xz"
os: ubuntu-latest
hdf5: "develop"
name: ${{ matrix.name }}
# The type of runner that the job will run on.
runs-on: ${{ matrix.os }}
if: "!contains(github.event.head_commit.message, 'skip-ci')"
# Steps represent a sequence of tasks that will be executed
# as part of the job.
steps:
- name: Check out repository code
uses: actions/[email protected]
- name: Update repository code
run: |
sudo apt-get update
sudo apt-get install uuid-dev
- name: Install Dependencies (Linux--HDF5-release)
if: matrix.hdf5 == 'release'
run: |
sudo apt-get install -qq mpich
sudo apt-get install -qq libhdf5-mpich-dev
# Set env vars
echo "CC=mpicc" >> $GITHUB_ENV
echo "CPPFLAGS=-I/usr/include/hdf5/mpich" >> $GITHUB_ENV
echo "LDFLAGS=-L/usr/lib/x86_64-linux-gnu/hdf5/mpich" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=-L/usr/lib/x86_64-linux-gnu/hdf5/mpich" >> $GITHUB_ENV
echo "LIBS=-lhdf5" >> $GITHUB_ENV
- name: Install Dependencies (Linux--HDF5-develop)
if: matrix.hdf5 == 'develop'
run: |
# Use the newest stable gcc compiler
sudo apt-get install automake autoconf libtool libtool-bin
sudo apt-get install -qq mpich
##################################
# INSTALL HDF5 FROM SOURCE
##################################
git clone https://github.com/HDFGroup/hdf5.git
export HOME_DIR=$(echo ~)
cd hdf5
export HDF5_DIR=$PWD/hdf5
echo "HDF5_DIR=$HDF5_DIR" >> $GITHUB_ENV
./autogen.sh
CC=mpicc ./configure --enable-build-mode=debug --without-szlib --disable-fortran --disable-hl \
--disable-tests --disable-tools \
--prefix=$HDF5_DIR \
--enable-parallel
make -j 8 install
mydir="$PWD"
# echo "CPPFLAGS=-I$HDF5_DIR/include" >> $GITHUB_ENV
# echo "LDFLAGS=-L$HDF5_DIR/lib" >> $GITHUB_ENV
echo "CC=$HDF5_DIR/bin/h5pcc" >> $GITHUB_ENV
##################################
# CONFIGURE (Autotools)
##################################
- name: configure hdf5-iotest
run: |
./autogen.sh
mkdir build; cd build
../configure --prefix=$GITHUB_WORKSPACE/build
shell: bash
##################################
# BUILD HDF5-iotest
##################################
- name: test hdf5-iotest
run: |
cd build
make
make install
shell: bash