forked from openpmix/prrte
-
Notifications
You must be signed in to change notification settings - Fork 1
161 lines (150 loc) · 4.91 KB
/
builds.yaml
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
name: Build tests
on: [pull_request]
jobs:
macos:
runs-on: macos-latest
strategy:
matrix:
path: ['non-vpath', 'vpath']
sphinx: ['no-sphinx', 'sphinx']
steps:
- name: Install dependencies
run: brew install libevent hwloc autoconf automake libtool
- name: Git clone OpenPMIx
uses: actions/checkout@v3
with:
submodules: recursive
repository: openpmix/openpmix
path: openpmix/master
ref: master
- name: Build OpenPMIx
run: |
cd openpmix/master
# Homebrew doesn't install Libevent's (or libev's) header or
# library files into a default search location. Shrug. So
# use pkg-config to get the location and explicitly pass it to
# configure.
libevent_cppflags=$(pkg-config libevent --cflags)
libevent_ldflags=$(pkg-config libevent --libs | perl -pe 's/^.*(-L[^ ]+).*$/\1/')
./autogen.pl
./configure --prefix=$RUNNER_TEMP/pmixinstall \
CPPFLAGS=$libevent_cppflags \
LDFLAGS=$libevent_ldflags
make -j
make install
- name: Git clone PRRTE
uses: actions/checkout@v3
with:
submodules: recursive
clean: false
- name: Build PRRTE
run: |
./autogen.pl
sphinx=
if test "${{ matrix.sphinx }}" = sphinx; then
# The macos Github Action environment gets angry at us if
# we try to pip install into the global environment. So
# make a virtual environment and install sphinx into that.
python -m venv venv
. ./venv/bin/activate
pip3 install -r docs/requirements.txt
sphinx=--enable-sphinx
fi
c=./configure
if test "${{ matrix.path }}" = vpath; then
mkdir build
cd build
c=../configure
fi
# Homebrew doesn't install Libevent's (or libev's) header or
# library files into a default search location. Shrug. So
# use pkg-config to get the location and explicitly pass it to
# configure.
libevent_cppflags=$(pkg-config libevent --cflags)
libevent_ldflags=$(pkg-config libevent --libs | perl -pe 's/^.*(-L[^ ]+).*$/\1/')
$c --prefix=$RUNNER_TEMP/prteinstall --with-pmix=$RUNNER_TEMP/pmixinstall $sphinx \
CPPFLAGS=$libevent_cppflags \
LDFLAGS=$libevent_ldflags
make -j
make install
make uninstall
ubuntu:
runs-on: ubuntu-latest
strategy:
matrix:
path: ['non-vpath', 'vpath']
sphinx: ['no-sphinx', 'sphinx']
steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends software-properties-common libhwloc-dev libevent-dev
- name: Git clone OpenPMIx
uses: actions/checkout@v3
with:
submodules: recursive
repository: openpmix/openpmix
path: openpmix/master
ref: master
- name: Build OpenPMIx
run: |
cd openpmix/master
./autogen.pl
./configure --prefix=$RUNNER_TEMP/pmixinstall
make -j
make install
- name: Git clone PRRTE
uses: actions/checkout@v3
with:
submodules: recursive
clean: false
- name: Build PRRTE
run: |
./autogen.pl
sphinx=
if test "${{ matrix.sphinx }}" = sphinx; then
pip3 install -r docs/requirements.txt
sphinx=--enable-sphinx
fi
c=./configure
if test "${{ matrix.path }}" = vpath; then
mkdir build
cd build
c=../configure
fi
$c --prefix=$RUNNER_TEMP/prteinstall --with-pmix=$RUNNER_TEMP/pmixinstall $sphinx
make -j
make install
make uninstall
distcheck:
runs-on: ubuntu-latest
steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends software-properties-common libhwloc-dev libevent-dev python3 python3-pip
- name: Git clone OpenPMIx
uses: actions/checkout@v3
with:
submodules: recursive
repository: openpmix/openpmix
path: openpmix/master
ref: master
- name: Build OpenPMIx
run: |
cd openpmix/master
./autogen.pl
./configure --prefix=$RUNNER_TEMP/pmixinstall
make -j
make install
- name: Git clone PRRTE
uses: actions/checkout@v3
with:
submodules: recursive
clean: false
- name: Distcheck
run: |
pip install -r docs/requirements.txt
./autogen.pl
./configure --prefix=$RUNNER_TEMP/prteinstall --with-pmix=$RUNNER_TEMP/pmixinstall --enable-sphinx
make distcheck AM_DISTCHECK_MAKEFLAGS=-j AM_DISTCHECK_CONFIGURE_FLAGS="--with-pmix=$RUNNER_TEMP/pmixinstall"