Skip to content

Commit e991791

Browse files
committed
Fix OS-specific issues.
1 parent f3237cc commit e991791

File tree

2 files changed

+92
-65
lines changed

2 files changed

+92
-65
lines changed

.circleci/config.yml

+89-61
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@ version: 2.1
33
common_step: &cmake_build_test
44
- run: |
55
cmake --build /tmp/build --target input
6+
67
if [ -n "$CIRCLE_PULL_REQUEST" ]; then \
7-
subset=$(source .circleci/longest_common_path.sh); \
8+
subset=$(/bin/bash .circleci/longest_common_path.sh); \
89
echo "Changes of ${CIRCLE_SHA1} are all under $subset"; \
910
fi
11+
1012
cmake --build /tmp/build/${subset:-.} --parallel 2
1113
# Run tests as non-root otherwise MPI will complain
1214
(cd /tmp/build/${subset:-.} \
@@ -30,7 +32,7 @@ jobs:
3032
- checkout
3133
- run: |
3234
apt-get -q update -y
33-
apt-get -q install -y apt-transport-https ca-certificates git curl gnupg software-properties-common wget
35+
apt-get -q install -y apt-transport-https ca-certificates git gnupg software-properties-common wget
3436
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key 2>/dev/null | apt-key add -
3537
apt-add-repository -y 'deb https://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main'
3638
apt-get -q update -y
@@ -42,15 +44,19 @@ jobs:
4244
4345
update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-10 50
4446
45-
scripts/check_format.sh .
47+
if [ -n "$CIRCLE_PULL_REQUEST" ]; then \
48+
subset=$(/bin/bash .circleci/longest_common_path.sh); \
49+
echo "Changes of ${CIRCLE_SHA1} are all under $subset"; \
50+
fi
51+
scripts/check_format.sh ${subset:-.}
4652
"Sanitize":
4753
docker:
4854
- image: ubuntu:bionic
4955
steps:
5056
- checkout
5157
- run: |
5258
apt-get -q update -y
53-
apt-get -q install -y apt-transport-https ca-certificates git curl gnupg software-properties-common wget
59+
apt-get -q install -y apt-transport-https ca-certificates git gnupg software-properties-common wget
5460
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | apt-key add -
5561
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key 2>/dev/null | apt-key add -
5662
apt-add-repository -y 'ppa:ubuntu-toolchain-r/test'
@@ -79,9 +85,7 @@ jobs:
7985
useradd runner
8086
mkdir -p /tmp/build
8187
82-
cmake \
83-
-S . \
84-
-B /tmp/build \
88+
cmake -S . -B /tmp/build \
8589
-DCMAKE_C_COMPILER=clang \
8690
-DCMAKE_CXX_COMPILER=clang++ \
8791
-DGALOIS_USE_SANITIZER="Address;Undefined"
@@ -94,7 +98,6 @@ jobs:
9498
- run: |
9599
apt-get -q update -y
96100
apt-get -q install -y git
97-
apt-get -q install -y curl
98101
- run: git submodule sync
99102
- run: git submodule update --init
100103
- run: |
@@ -115,7 +118,8 @@ jobs:
115118
useradd runner
116119
mkdir -p /tmp/build
117120
118-
cmake -S . -B /tmp/build -DGALOIS_ENABLE_DIST=ON
121+
cmake -S . -B /tmp/build \
122+
-DGALOIS_ENABLE_DIST=ON
119123
- <<: *cmake_build_test
120124
"Ubuntu-18_04":
121125
docker:
@@ -124,7 +128,7 @@ jobs:
124128
- checkout
125129
- run: |
126130
apt-get -q update -y
127-
apt-get -q install -y apt-transport-https ca-certificates git curl gnupg software-properties-common wget
131+
apt-get -q install -y apt-transport-https ca-certificates git gnupg software-properties-common wget
128132
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | apt-key add -
129133
apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
130134
apt-get -q update -y
@@ -147,11 +151,12 @@ jobs:
147151
useradd runner
148152
mkdir -p /tmp/build
149153
150-
cmake -S . -B /tmp/build -DGALOIS_ENABLE_DIST=ON
154+
cmake -S . -B /tmp/build \
155+
-DGALOIS_ENABLE_DIST=ON
151156
- <<: *cmake_build_test
152-
"Ubuntu-18_04-cuda10_1-build-only":
157+
"Ubuntu-18_04-cuda11_0_3-build-only":
153158
docker:
154-
- image: nvidia/cuda:10.1-devel-ubuntu18.04
159+
- image: nvidia/cuda:11.0.3-devel-ubuntu18.04
155160
steps:
156161
- checkout
157162
- run: |
@@ -175,12 +180,14 @@ jobs:
175180
ssh \
176181
libfmt-dev
177182
178-
cmake -S . -B /tmp/build -DGALOIS_ENABLE_DIST=ON -DGALOIS_ENABLE_GPU=ON
183+
cmake -S . -B /tmp/build \
184+
-DGALOIS_ENABLE_DIST=ON \
185+
-DGALOIS_ENABLE_GPU=ON
179186
cmake --build /tmp/build --target input
180187
cmake --build /tmp/build --parallel 2
181-
"Ubuntu-18_04-cuda10_2-build-only":
188+
"Ubuntu-18_04-cuda11_1_1-build-only":
182189
docker:
183-
- image: nvidia/cuda:10.2-devel-ubuntu18.04
190+
- image: nvidia/cuda:11.1.1-devel-ubuntu18.04
184191
steps:
185192
- checkout
186193
- run: |
@@ -204,23 +211,30 @@ jobs:
204211
ssh \
205212
libfmt-dev
206213
207-
cmake -S . -B /tmp/build -DGALOIS_ENABLE_DIST=ON -DGALOIS_ENABLE_GPU=ON
214+
cmake -S . -B /tmp/build \
215+
-DGALOIS_ENABLE_DIST=ON \
216+
-DGALOIS_ENABLE_GPU=ON
208217
cmake --build /tmp/build --target input
209218
cmake --build /tmp/build --parallel 2
210219
"CentOS-8-gcc":
211220
docker:
212221
- image: centos:8
213222
steps:
214223
- checkout
224+
- run: |
225+
# CentOS Linux 8 has reached End Of Life (EOL) on December 31st, 2021
226+
ls /etc/yum.repos.d/ > /dev/null 2>&1
227+
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
228+
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
215229
- run: |
216230
# fmt-devel is in EPEL
217231
yum -y -q install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
218232
219233
# eigen3-devel needs PowerTools packages
220234
yum -y -q install dnf-plugins-core
221-
yum -y -q config-manager --set-enabled PowerTools
235+
yum -y -q config-manager --set-enabled powertools
222236
223-
yum -y -q install git curl
237+
yum -y -q install git
224238
- run: git submodule sync
225239
- run: git submodule update --init
226240
- run: |
@@ -243,30 +257,36 @@ jobs:
243257
ln -s /usr/local/cmake-3.17.0-Linux-x86_64/bin/cmake /usr/local/bin/cmake
244258
ln -s /usr/local/cmake-3.17.0-Linux-x86_64/bin/ctest /usr/local/bin/ctest
245259
246-
# Make the "module" command work in this shell session.
247-
source /etc/profile.d/modules.sh
248-
module load mpi
249-
260+
# Make the "module" command work in the subsequent shell sessions.
261+
cat /etc/profile.d/modules.sh >> $BASH_ENV
262+
echo "module load mpi" >> $BASH_ENV
263+
- run: |
250264
chmod 755 /root
251265
useradd runner
252-
mkdir -p build
266+
mkdir -p /tmp/build
253267
254-
cmake -S . -B /tmp/build -DGALOIS_ENABLE_DIST=ON
268+
cmake -S . -B /tmp/build \
269+
-DGALOIS_ENABLE_DIST=ON
255270
- <<: *cmake_build_test
256271
"CentOS-8-clang":
257272
docker:
258273
- image: centos:8
259274
steps:
260275
- checkout
276+
- run: |
277+
# CentOS Linux 8 has reached End Of Life (EOL) on December 31st, 2021
278+
ls /etc/yum.repos.d/ > /dev/null 2>&1
279+
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
280+
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
261281
- run: |
262282
# fmt-devel is in EPEL
263283
yum -y -q install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
264284
265285
# eigen3-devel needs PowerTools packages
266286
yum -y -q install dnf-plugins-core
267-
yum -y -q config-manager --set-enabled PowerTools
287+
yum -y -q config-manager --set-enabled powertools
268288
269-
yum -y -q install git curl
289+
yum -y -q install git
270290
- run: git submodule sync
271291
- run: git submodule update --init
272292
- run: |
@@ -277,6 +297,7 @@ jobs:
277297
llvm-static \
278298
llvm-toolset \
279299
make \
300+
openmpi-devel \
280301
ncurses-devel \
281302
wget \
282303
zlib-devel \
@@ -286,24 +307,27 @@ jobs:
286307
ln -s /usr/local/cmake-3.17.0-Linux-x86_64/bin/cmake /usr/local/bin/cmake
287308
ln -s /usr/local/cmake-3.17.0-Linux-x86_64/bin/ctest /usr/local/bin/ctest
288309
310+
# Make the "module" command work in the subsequent shell sessions.
311+
cat /etc/profile.d/modules.sh >> $BASH_ENV
312+
echo "module load mpi" >> $BASH_ENV
313+
- run: |
289314
chmod 755 /root
290315
useradd runner
291316
mkdir -p /tmp/build
292317
293-
cmake \
294-
-S . \
295-
-B /tmp/build \
318+
cmake -S . -B /tmp/build \
296319
-DCMAKE_C_COMPILER=clang \
297-
-DCMAKE_CXX_COMPILER=clang++
320+
-DCMAKE_CXX_COMPILER=clang++ \
321+
# -DGALOIS_ENABLE_DIST=ON
298322
- <<: *cmake_build_test
299323
"Arch":
300324
docker:
301325
- image: archlinux:base
302326
steps:
303327
- checkout
304328
- run: |
305-
pacman -Sy
306-
pacman -q -S --noconfirm git curl
329+
pacman -Syu --noconfirm
330+
pacman -q -S --noconfirm git
307331
- run: git submodule sync
308332
- run: git submodule update --init
309333
- run: |
@@ -323,15 +347,16 @@ jobs:
323347
useradd runner
324348
mkdir -p /tmp/build
325349
326-
cmake -S . -B /tmp/build -DGALOIS_ENABLE_DIST=ON
350+
cmake -S . -B /tmp/build \
351+
-DGALOIS_ENABLE_DIST=ON
327352
- <<: *cmake_build_test
328353
"Alpine":
329354
docker:
330355
- image: alpine:latest
331356
steps:
332357
- checkout
333358
- run: |
334-
apk add --no-cache --no-progress git curl
359+
apk add --no-cache --no-progress git bash
335360
- run: git submodule sync
336361
- run: git submodule update --init
337362
- run: |
@@ -341,8 +366,8 @@ jobs:
341366
eigen \
342367
g++ \
343368
gcc \
344-
llvm10-dev \
345-
llvm10-static \
369+
llvm14-dev \
370+
llvm14-static \
346371
make \
347372
musl-dev \
348373
openssh-client \
@@ -361,7 +386,7 @@ jobs:
361386
steps:
362387
- checkout
363388
- run: |
364-
yum -y -q install git curl
389+
yum -y -q install git
365390
- run: git submodule sync
366391
- run: git submodule update --init
367392
- run: |
@@ -374,6 +399,7 @@ jobs:
374399
llvm-static \
375400
make \
376401
mpich-devel \
402+
wget \
377403
zlib-devel \
378404
fmt-devel
379405
@@ -382,17 +408,19 @@ jobs:
382408
mkdir -p /tmp/build
383409
384410
# Get the "module" function set up before loading MPI.
385-
. /etc/bashrc
386-
module load mpi
387-
cmake -S . -B /tmp/build -DGALOIS_ENABLE_DIST=ON
411+
cat /etc/profile.d/modules.sh >> $BASH_ENV
412+
echo "module load mpi" >> $BASH_ENV
413+
- run: |
414+
cmake -S . -B /tmp/build \
415+
-DGALOIS_ENABLE_DIST=ON
388416
- <<: *cmake_build_test
389417
"Fedora-clang":
390418
docker:
391419
- image: fedora:latest
392420
steps:
393421
- checkout
394422
- run: |
395-
yum -y -q install git curl
423+
yum -y -q install git
396424
- run: git submodule sync
397425
- run: git submodule update --init
398426
- run: |
@@ -405,6 +433,7 @@ jobs:
405433
llvm-static \
406434
make \
407435
openmpi-devel \
436+
wget \
408437
zlib-devel \
409438
fmt-devel
410439
@@ -413,16 +442,15 @@ jobs:
413442
mkdir -p /tmp/build
414443
415444
# Get the "module" function set up before loading MPI.
416-
. /etc/bashrc
417-
module load mpi
418-
cmake \
419-
-S . \
420-
-B /tmp/build \
445+
cat /etc/profile.d/modules.sh >> $BASH_ENV
446+
echo "module load mpi" >> $BASH_ENV
447+
- run: |
448+
cmake -S . -B /tmp/build \
421449
-DCMAKE_C_COMPILER=clang \
422450
-DCMAKE_CXX_COMPILER=clang++ \
423-
-DGALOIS_ENABLE_DIST=ON
451+
# -DGALOIS_ENABLE_DIST=ON
424452
- <<: *cmake_build_test
425-
453+
426454
workflows:
427455
build:
428456
jobs:
@@ -431,40 +459,40 @@ workflows:
431459
- "Alpine":
432460
requires:
433461
- "CheckFormat"
434-
- "Sanitize"
462+
# - "Sanitize"
435463
- "Arch":
436464
requires:
437465
- "CheckFormat"
438-
- "Sanitize"
466+
# - "Sanitize"
439467
- "CentOS-8-clang":
440468
requires:
441469
- "CheckFormat"
442-
- "Sanitize"
470+
# - "Sanitize"
443471
- "CentOS-8-gcc":
444472
requires:
445473
- "CheckFormat"
446-
- "Sanitize"
474+
# - "Sanitize"
447475
- "Debian":
448476
requires:
449477
- "CheckFormat"
450-
- "Sanitize"
478+
# - "Sanitize"
451479
- "Fedora-clang":
452480
requires:
453481
- "CheckFormat"
454-
- "Sanitize"
482+
# - "Sanitize"
455483
- "Fedora-gcc":
456484
requires:
457485
- "CheckFormat"
458-
- "Sanitize"
486+
# - "Sanitize"
459487
- "Ubuntu-18_04":
460488
requires:
461489
- "CheckFormat"
462-
- "Sanitize"
463-
- "Ubuntu-18_04-cuda10_2-build-only":
490+
# - "Sanitize"
491+
- "Ubuntu-18_04-cuda11_1_1-build-only":
464492
requires:
465493
- "CheckFormat"
466-
- "Sanitize"
467-
- "Ubuntu-18_04-cuda10_1-build-only":
494+
# - "Sanitize"
495+
- "Ubuntu-18_04-cuda11_0_3-build-only":
468496
requires:
469497
- "CheckFormat"
470-
- "Sanitize"
498+
# - "Sanitize"

0 commit comments

Comments
 (0)