Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update GHA for macOS and fix notebooks on Ubuntu #274

Merged
merged 8 commits into from
Sep 16, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions .github/workflows/centos-system-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,22 +126,22 @@ jobs:
-B build
cmake --build build --config Release

# Don't do this in the `Build BioDynaMo step`, because notebooks might time out in GHA
# runners, while waiting for other targets to be compiled
- name: Run notebooks
shell: bash
run: |
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
pyenv shell 3.9.1
. scl_source enable devtoolset-8 || true
. /etc/profile.d/modules.sh || true
module load mpi
cmake \
-Dnotebooks=ON \
-B build
cmake --build build --config Release --target notebooks -- -j1
# # Don't do this in the `Build BioDynaMo step`, because notebooks might time out in GHA
# # runners, while waiting for other targets to be compiled
# - name: Run notebooks
# shell: bash
# run: |
# export PATH="$HOME/.pyenv/bin:$PATH"
# eval "$(pyenv init --path)"
# eval "$(pyenv init -)"
# pyenv shell 3.9.1
# . scl_source enable devtoolset-8 || true
# . /etc/profile.d/modules.sh || true
# module load mpi
# cmake \
# -Dnotebooks=ON \
# -B build
# cmake --build build --config Release --target notebooks -- -j1

- name: Run system tests
shell: bash
Expand Down
11 changes: 5 additions & 6 deletions .github/workflows/macos-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,20 @@ jobs:
build:
strategy:
matrix:
os: [macos-10.15, macos-11]
os: [macos-11, macos-12]

runs-on: ${{ matrix.os }}

steps:
- name: Make sure Xcode 12.4 is used on macOS 10.15 as the default /Application/Xcode.app
- name: Make sure Xcode 13.1 is used on macOS 12 as the default /Application/Xcode.app
shell: bash
run: |
sudo mv /Applications/Xcode.app /Applications/Xcode.app-
sudo ln -s /Applications/Xcode_12.4.app /Applications/Xcode.app
sudo ln -s /Applications/Xcode_13.1.app /Applications/Xcode.app
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
if: matrix.os == 'macos-10.15'
if: matrix.os == 'macos-12'

# It's not possible to specify 11.6 but we hope that this remains the latest.
- name: Make sure Xcode 13.1 is used on macOS 11.6 as the default /Application/Xcode.app
- name: Make sure Xcode 13.1 is used on macOS 11 as the default /Application/Xcode.app
shell: bash
run: |
sudo mv /Applications/Xcode.app /Applications/Xcode.app-
Expand Down
11 changes: 5 additions & 6 deletions .github/workflows/macos-system-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,21 +17,20 @@ jobs:
build:
strategy:
matrix:
os: [macos-10.15, macos-11]
os: [macos-11, macos-12]

runs-on: ${{ matrix.os }}

steps:
- name: Make sure Xcode 12.4 is used on macOS 10.15 as the default /Application/Xcode.app
- name: Make sure Xcode 13.1 is used on macOS 12 as the default /Application/Xcode.app
shell: zsh {0}
run: |
sudo mv /Applications/Xcode.app /Applications/Xcode.app-
sudo ln -s /Applications/Xcode_12.4.app /Applications/Xcode.app
sudo ln -s /Applications/Xcode_13.1.app /Applications/Xcode.app
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
if: matrix.os == 'macos-10.15'
if: matrix.os == 'macos-12'

# It's not possible to specify 11.6 but we hope that this remains the latest.
- name: Make sure Xcode 13.1 is used on macOS 11.6 as the default /Application/Xcode.app
- name: Make sure Xcode 13.1 is used on macOS 11 as the default /Application/Xcode.app
shell: bash
run: |
sudo mv /Applications/Xcode.app /Applications/Xcode.app-
Expand Down
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ else()
SET(DETECTED_OS_VERS ${OS})
check_detected_os(${DETECTED_OS})
endif()
message(STATUS "Detected OS: ${DETECTED_OS_VERS}")


# Find a suitable compiler
Expand Down
9 changes: 7 additions & 2 deletions cmake/external/ROOT.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,18 @@ SET(ROOT_SOURCE_DIR "${CMAKE_THIRD_PARTY_DIR}/root")
set(ROOT_TAR_FILE root_v6.22.06_python3.9_${DETECTED_OS_VERS}.tar.gz)
if(APPLE)
if("${DETECTED_OS_VERS}" MATCHES "^osx-12" OR
"${DETECTED_OS_VERS}" MATCHES "^osx-11.6")
"${DETECTED_OS_VERS}" MATCHES "^osx-11.6" OR
"${DETECTED_OS_VERS}" MATCHES "^osx-11.7")
set(ROOT_TAR_FILE root_v6.25.01_cxx14_python3.9_${DETECTED_OS_VERS}.tar.gz)
elseif("${DETECTED_OS_VERS}" MATCHES "^osx-11")
message(FATAL_ERROR "We officialy only support the latest macOS 11 version: 11.6.")
message(FATAL_ERROR "We officialy only support the latest macOS 11 versions 11.6, 11.7.")
endif()
endif()

message(STATUS "Using ROOT tarball: ${ROOT_TAR_FILE}")
message(STATUS "Using ROOT source dir: ${ROOT_SOURCE_DIR}")
message(STATUS "Using ROOT version: ${${DETECTED_OS_VERS}-ROOT}")

download_verify_extract(
http://cern.ch/biodynamo-lfs/third-party/${ROOT_TAR_FILE}
${ROOT_SOURCE_DIR}
Expand Down
7 changes: 6 additions & 1 deletion cmake/external/SHA256Digests.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,15 @@ SET(osx-11.5-i386-Qt 7af9eed30be9f25bbdcf7e5747ab53eaaf077c6b2a974c2e520ac678f5a
SET(osx-11.5-i386-ROOT 92c2fd4f6af11a64f9b0c9a7a5b19d92b65653b1b4e7a0f84afac7fa3abaffc2)
SET(osx-11.5-arm64-ROOT 70a2ef099275e4720c1a5fc46c1fa8ad9dfd407049fcb2b1b91b39bd07a1575a)
SET(osx-11.6-arm64-ParaView 5e89b785ac0c56bbca31e2ae101a8986953e90227fe42a1ef7adcc70a0ff6fc4)
SET(osx-11.6-arm64-ROOT 62bd493f45b13baa15a29713c4fd989eca235a77545f56c9a9ecd6667bafaf85)
SET(osx-11.6-i386-ParaView d2e89df30ab0e2729b28539de37753e09c061b4c434b0a68e80554f7fa617ccb)
SET(osx-11.6-i386-Qt 7af9eed30be9f25bbdcf7e5747ab53eaaf077c6b2a974c2e520ac678f5a147a7)
SET(osx-11.6-i386-ROOT 90060674515211b98b4b5349fdb0de96f73b7d12768331217e8c833acb7ed307)
SET(osx-11.6-arm64-ROOT 62bd493f45b13baa15a29713c4fd989eca235a77545f56c9a9ecd6667bafaf85)
SET(osx-11.7-arm64-ParaView 5e89b785ac0c56bbca31e2ae101a8986953e90227fe42a1ef7adcc70a0ff6fc4)
SET(osx-11.7-arm64-ROOT 62bd493f45b13baa15a29713c4fd989eca235a77545f56c9a9ecd6667bafaf85)
SET(osx-11.7-i386-ParaView d2e89df30ab0e2729b28539de37753e09c061b4c434b0a68e80554f7fa617ccb)
SET(osx-11.7-i386-Qt 7af9eed30be9f25bbdcf7e5747ab53eaaf077c6b2a974c2e520ac678f5a147a7)
SET(osx-11.7-i386-ROOT 90060674515211b98b4b5349fdb0de96f73b7d12768331217e8c833acb7ed307)
SET(osx-12.0-i386-ParaView d2e89df30ab0e2729b28539de37753e09c061b4c434b0a68e80554f7fa617ccb)
SET(osx-12.0-i386-Qt 7af9eed30be9f25bbdcf7e5747ab53eaaf077c6b2a974c2e520ac678f5a147a7)
SET(osx-12.0-i386-ROOT be97dd72022c8d082fbe4394f18b55c4920f20b138cfff1b5fc2b41d397ac203)
Expand Down
2 changes: 1 addition & 1 deletion util/installation/ubuntu-18.04/prerequisites.sh
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ pyenv shell $PYVERS
# Install optional packages
if [ $1 == "all" ]; then
# this updates pip, but installs the updated version in $HOME/.local/bin
PIP_PACKAGES="nbformat jupyter metakernel jupyterlab"
PIP_PACKAGES="jupyter metakernel jupyterlab nbformat==5.4.0 nbconvert==6.5.3 nbclient==0.6.6"
# Don't install --user: the packages should end up in the PYENV_ROOT directory
python -m pip install $PIP_PACKAGES

Expand Down