-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fixes for MacOS and new CI to prevent future breaks (#164)
* include MacOS in CI * include dependencies * replace TCP with sockets * add libuuid * fix find UUID to correctly locate files in Ubuntu and MacOS * fix random segfault in strdup + malloc due to wrong allocation * ensure consistent use of defined variables * change transport for MacOS tests * update env * update dependencies-macos.sh * replace found to TRUE/FALSE * update documentation with timeout and MacOS specifics * fix git link to avoid authentication * change transport for tests * configure network for MacOS tests --------- Co-authored-by: github-actions <github-actions[bot]@users.noreply.github.com>
- Loading branch information
1 parent
b1adf8c
commit e0024e3
Showing
10 changed files
with
146 additions
and
56 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -eu -o pipefail | ||
|
||
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=FALSE | ||
|
||
brew install open-mpi automake | ||
|
||
# libfabric | ||
wget https://github.com/ofiwg/libfabric/archive/refs/tags/v1.15.2.tar.gz | ||
tar xf v1.15.2.tar.gz | ||
cd libfabric-1.15.2 | ||
./autogen.sh | ||
./configure --disable-usnic --disable-mrail --disable-rstream --disable-perf --disable-efa --disable-psm2 --disable-psm --disable-verbs --disable-shm --disable-static --disable-silent-rules | ||
make -j2 && sudo make install | ||
make check | ||
cd .. | ||
|
||
# Mercury | ||
git clone --recursive https://github.com/mercury-hpc/mercury.git | ||
cd mercury | ||
git checkout v2.2.0 | ||
mkdir build && cd build | ||
cmake ../ -DCMAKE_C_COMPILER=gcc -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=ON -DNA_USE_OFI=ON -DNA_USE_SM=OFF -DMERCURY_USE_CHECKSUMS=OFF -DNA_OFI_TESTING_PROTOCOL=sockets | ||
make -j2 && sudo make install | ||
ctest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
name: MacOS | ||
|
||
on: | ||
pull_request: | ||
branches: [ stable, develop ] | ||
|
||
# Allows to run this workflow manually from the Actions tab | ||
workflow_dispatch: | ||
|
||
jobs: | ||
PDC: | ||
runs-on: macos-13 | ||
timeout-minutes: 60 | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Dependencies | ||
run: .github/workflows/dependencies-macos.sh | ||
|
||
- name: Build PDC | ||
run: | | ||
mkdir build && cd build | ||
cmake ../ -DBUILD_MPI_TESTING=ON -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=ON -DPDC_ENABLE_MPI=ON -DCMAKE_C_COMPILER=mpicc | ||
make -j 2 | ||
- name: Test PDC | ||
working-directory: build | ||
run: | | ||
sudo sh -c 'echo "`ipconfig getifaddr en0` PDC" >> /etc/hosts' | ||
sudo scutil --set HostName PDC | ||
export HG_TRANSPORT="sockets" | ||
ctest -L serial |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,36 +1,41 @@ | ||
# FindUUID.cmake | ||
# On Mac OS X the uuid functions are in the System library | ||
|
||
# Find the system's UUID library | ||
# This will define: | ||
# | ||
# UUID_FOUND - System has UUID | ||
# UUID_INCLUDE_DIRS - The UUID include directory | ||
# UUID_LIBRARIES - The libraries needed to use UUID | ||
if(APPLE) | ||
set(UUID_LIBRARY_VAR System) | ||
else() | ||
set(UUID_LIBRARY_VAR uuid) | ||
endif() | ||
|
||
# - Try to find UUID | ||
# Once done this will define | ||
# UUID_FOUND - System has UUID | ||
# UUID_INCLUDE_DIRS - The UUID include directories | ||
# UUID_LIBRARIES - The libraries needed to use UUID | ||
|
||
find_package(PkgConfig) | ||
pkg_check_modules(PC_UUID uuid) | ||
find_library(UUID_LIBRARY | ||
NAMES ${UUID_LIBRARY_VAR} | ||
PATHS /usr/local/lib64 /usr/local/lib /usr/lib64 /usr/lib | ||
) | ||
|
||
find_path(UUID_INCLUDE_DIR uuid/uuid.h | ||
HINTS ${PC_UUID_INCLUDEDIR} ${PC_UUID_INCLUDE_DIRS} | ||
PATHS /usr/local/include /usr/include) | ||
|
||
find_library(UUID_LIBRARY NAMES uuid | ||
HINTS ${PC_DRC_LIBDIR} ${PC_DRC_LIBRARY_DIRS} | ||
PATHS /usr/local/lib64 /usr/local/lib /usr/lib64 /usr/lib) | ||
|
||
set(UUID_INCLUDE_DIRS ${UUID_INCLUDE_DIR}) | ||
set(UUID_LIBRARIES ${UUID_LIBRARY}) | ||
|
||
include(FindPackageHandleStandardArgs) | ||
# handle the QUIETLY and REQUIRED arguments and set UUID_FOUND to TRUE | ||
# if all listed variables are TRUE | ||
find_package_handle_standard_args(UUID DEFAULT_MSG | ||
UUID_INCLUDE_DIR UUID_LIBRARY) | ||
|
||
mark_as_advanced(UUID_INCLUDE_DIR UUID_LIBRARY) | ||
PATHS /usr/local/include /usr/include | ||
) | ||
|
||
if (UUID_LIBRARY AND UUID_INCLUDE_DIR) | ||
set(UUID_LIBRARIES ${UUID_LIBRARY}) | ||
set(UUID_FOUND "TRUE") | ||
else () | ||
set(UUID_FOUND "FALSE") | ||
endif () | ||
|
||
if (UUID_FOUND) | ||
if (NOT UUID_FIND_QUIETLY) | ||
message(STATUS "Found UUID: ${UUID_LIBRARIES}") | ||
endif () | ||
else () | ||
if (UUID_FIND_REQUIRED) | ||
message( "library: ${UUID_LIBRARY}" ) | ||
message( "include: ${UUID_INCLUDE_DIR}" ) | ||
message(FATAL_ERROR "Could not find UUID library") | ||
endif () | ||
endif () | ||
|
||
mark_as_advanced( | ||
UUID_LIBRARY | ||
UUID_INCLUDE_DIR | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters