From 912d870031f68d82a05fe17c41ac4bc44078bf34 Mon Sep 17 00:00:00 2001 From: Brent Huisman Date: Fri, 7 Jul 2023 12:52:16 +0200 Subject: [PATCH 01/14] Tip from Eleni --- spack/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/spack/package.py b/spack/package.py index c88687ad94..b732899ba9 100644 --- a/spack/package.py +++ b/spack/package.py @@ -16,6 +16,7 @@ class Arbor(CMakePackage, CudaPackage): maintainers = ["thorstenhater", "brenthuisman", "haampie"] version("master", branch="master", submodules=True) + version("0.8.2-dev") version( "0.8.1", sha256="caebf96676ace6a9c50436541c420ca4bb53f0639dcab825de6fa370aacf6baa", From 5cfd6714ce050a104be245b08c51086c0ffc0fc6 Mon Sep 17 00:00:00 2001 From: Brent Huisman Date: Fri, 7 Jul 2023 12:59:27 +0200 Subject: [PATCH 02/14] We (probably) dont have to repeat ourselves. --- spack/package.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/spack/package.py b/spack/package.py index b732899ba9..25e37832ea 100644 --- a/spack/package.py +++ b/spack/package.py @@ -5,6 +5,9 @@ from spack.package import * +DEVVERSION = None +with open('../VERSION', 'r') as file: + DEVVERSION = file.readline().strip() class Arbor(CMakePackage, CudaPackage): """Arbor is a high-performance library for computational neuroscience @@ -16,7 +19,7 @@ class Arbor(CMakePackage, CudaPackage): maintainers = ["thorstenhater", "brenthuisman", "haampie"] version("master", branch="master", submodules=True) - version("0.8.2-dev") + version(DEVVERSION) version( "0.8.1", sha256="caebf96676ace6a9c50436541c420ca4bb53f0639dcab825de6fa370aacf6baa", From 0ec02ea4f12f0bf323884aed50b193ff9bcaf3e0 Mon Sep 17 00:00:00 2001 From: Brent Huisman Date: Fri, 7 Jul 2023 13:28:23 +0200 Subject: [PATCH 03/14] fix path --- spack/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spack/package.py b/spack/package.py index 25e37832ea..e823a9e58c 100644 --- a/spack/package.py +++ b/spack/package.py @@ -6,7 +6,7 @@ from spack.package import * DEVVERSION = None -with open('../VERSION', 'r') as file: +with open('VERSION', 'r') as file: DEVVERSION = file.readline().strip() class Arbor(CMakePackage, CudaPackage): From 17290820050ab303caf52391ae0a6e0cfca4a3bb Mon Sep 17 00:00:00 2001 From: Brent Huisman Date: Fri, 7 Jul 2023 13:44:41 +0200 Subject: [PATCH 04/14] satisfy black --- spack/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spack/package.py b/spack/package.py index e823a9e58c..4b58715898 100644 --- a/spack/package.py +++ b/spack/package.py @@ -6,9 +6,10 @@ from spack.package import * DEVVERSION = None -with open('VERSION', 'r') as file: +with open("VERSION", "r") as file: DEVVERSION = file.readline().strip() + class Arbor(CMakePackage, CudaPackage): """Arbor is a high-performance library for computational neuroscience simulations.""" From c216a6151260cc72439afff6bbd5df6602f13d89 Mon Sep 17 00:00:00 2001 From: Brent Huisman Date: Fri, 7 Jul 2023 15:51:26 +0200 Subject: [PATCH 05/14] fix path --- .github/workflows/spack.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index 2ca1de9193..51fd5fb14d 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -32,6 +32,6 @@ jobs: run: arbor/scripts/build_spack_package.sh arbor develop - name: Run Python examples - run: scripts/run_python_examples.sh + run: arbor/scripts/run_python_examples.sh - name: Test executables - run: scripts/test_executables.sh + run: arbor/scripts/test_executables.sh From bdee861daa06bf7307e516d72a027a29cdf1fad8 Mon Sep 17 00:00:00 2001 From: Brent Huisman Date: Fri, 7 Jul 2023 17:18:33 +0200 Subject: [PATCH 06/14] sudo fix paths --- .github/workflows/spack.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index 51fd5fb14d..4aec35ad4a 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -32,6 +32,10 @@ jobs: run: arbor/scripts/build_spack_package.sh arbor develop - name: Run Python examples - run: arbor/scripts/run_python_examples.sh + with: + path: arbor + run: scripts/run_python_examples.sh - name: Test executables - run: arbor/scripts/test_executables.sh + with: + path: arbor + run: scripts/test_executables.sh From ed97bfdcb3d9021db3109216710915f97aa66fcc Mon Sep 17 00:00:00 2001 From: Brent Huisman Date: Fri, 7 Jul 2023 18:52:22 +0200 Subject: [PATCH 07/14] whoops. --- .github/workflows/spack.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index 4aec35ad4a..a1a2b80097 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -32,10 +32,10 @@ jobs: run: arbor/scripts/build_spack_package.sh arbor develop - name: Run Python examples + run: scripts/run_python_examples.sh with: path: arbor - run: scripts/run_python_examples.sh - name: Test executables + run: scripts/test_executables.sh with: path: arbor - run: scripts/test_executables.sh From 8c69fc826267f07087c8d9578f386e1d0590d624 Mon Sep 17 00:00:00 2001 From: Brent Huisman Date: Fri, 7 Jul 2023 18:55:05 +0200 Subject: [PATCH 08/14] whoops2 --- .github/workflows/spack.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index a1a2b80097..be169581ef 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -32,10 +32,10 @@ jobs: run: arbor/scripts/build_spack_package.sh arbor develop - name: Run Python examples - run: scripts/run_python_examples.sh - with: - path: arbor + run: | + cd arbor + scripts/run_python_examples.sh - name: Test executables - run: scripts/test_executables.sh - with: - path: arbor + run: | + cd arbor + scripts/test_executables.sh From d121ef3a3b34f9b478c21aeb4ab5eb987caf8219 Mon Sep 17 00:00:00 2001 From: Brent Huisman Date: Fri, 7 Jul 2023 19:01:35 +0200 Subject: [PATCH 09/14] does this work? --- spack/package.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/spack/package.py b/spack/package.py index 4b58715898..4dc057a576 100644 --- a/spack/package.py +++ b/spack/package.py @@ -5,10 +5,6 @@ from spack.package import * -DEVVERSION = None -with open("VERSION", "r") as file: - DEVVERSION = file.readline().strip() - class Arbor(CMakePackage, CudaPackage): """Arbor is a high-performance library for computational neuroscience @@ -20,7 +16,7 @@ class Arbor(CMakePackage, CudaPackage): maintainers = ["thorstenhater", "brenthuisman", "haampie"] version("master", branch="master", submodules=True) - version(DEVVERSION) + version("dev") version( "0.8.1", sha256="caebf96676ace6a9c50436541c420ca4bb53f0639dcab825de6fa370aacf6baa", From 5b4bee65c34c3d61189e96a99f287698b93f899f Mon Sep 17 00:00:00 2001 From: Brent Huisman Date: Fri, 7 Jul 2023 19:58:48 +0200 Subject: [PATCH 10/14] thanks fab --- scripts/build_spack_package.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_spack_package.sh b/scripts/build_spack_package.sh index ca767e97bc..b6857fb79c 100755 --- a/scripts/build_spack_package.sh +++ b/scripts/build_spack_package.sh @@ -62,4 +62,4 @@ spack reindex cp $ARBOR_DIR/spack/package.py $SPACK_CUSTOM_REPO/packages/arbor cd $ARBOR_DIR ARBOR_VERSION=$(cat "$ARBOR_DIR/VERSION") -spack dev-build arbor@${ARBOR_VERSION} +spack dev-build arbor@dev From 58b80ac1fd30733403e2303930f0d349d3c65f2f Mon Sep 17 00:00:00 2001 From: Brent Huisman Date: Fri, 7 Jul 2023 21:58:48 +0200 Subject: [PATCH 11/14] build python binding --- scripts/build_spack_package.sh | 2 +- spack/package.py | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/scripts/build_spack_package.sh b/scripts/build_spack_package.sh index b6857fb79c..f5e52650bc 100755 --- a/scripts/build_spack_package.sh +++ b/scripts/build_spack_package.sh @@ -62,4 +62,4 @@ spack reindex cp $ARBOR_DIR/spack/package.py $SPACK_CUSTOM_REPO/packages/arbor cd $ARBOR_DIR ARBOR_VERSION=$(cat "$ARBOR_DIR/VERSION") -spack dev-build arbor@dev +spack dev-build arbor@${ARBOR_VERSION} +python diff --git a/spack/package.py b/spack/package.py index 4dc057a576..dad2ef24c7 100644 --- a/spack/package.py +++ b/spack/package.py @@ -5,6 +5,12 @@ from spack.package import * +try: + with open("VERSION", "r") as file: + DEVVERSION = file.readline().strip() +except: + DEVVERSION = None + class Arbor(CMakePackage, CudaPackage): """Arbor is a high-performance library for computational neuroscience @@ -16,7 +22,8 @@ class Arbor(CMakePackage, CudaPackage): maintainers = ["thorstenhater", "brenthuisman", "haampie"] version("master", branch="master", submodules=True) - version("dev") + if DEVVERSION: + version(DEVVERSION) version( "0.8.1", sha256="caebf96676ace6a9c50436541c420ca4bb53f0639dcab825de6fa370aacf6baa", From 809872f59aa5724d8e9a499bc152c332f35cbe4f Mon Sep 17 00:00:00 2001 From: Brent Huisman Date: Fri, 7 Jul 2023 21:59:24 +0200 Subject: [PATCH 12/14] cleanup b-s-p --- scripts/build_spack_package.sh | 54 ++++++++-------------------------- 1 file changed, 12 insertions(+), 42 deletions(-) diff --git a/scripts/build_spack_package.sh b/scripts/build_spack_package.sh index f5e52650bc..23df852256 100755 --- a/scripts/build_spack_package.sh +++ b/scripts/build_spack_package.sh @@ -20,46 +20,16 @@ cleanup() { TMP_DIR=$(mktemp -d) ARBOR_SOURCE=$1 -ARBOR_DIR=$TMP_DIR/arbor -mkdir $ARBOR_DIR -cp -r $ARBOR_SOURCE/* $ARBOR_DIR - cd "$TMP_DIR" - -SPACK_DIR=spack -SPACK_REPO=https://github.com/spack/spack -SPACK_CUSTOM_REPO=custom_repo - -SPACK_VERSION=$2 # latest_release or develop -SPACK_BRANCH=develop # only used for develop - -case $SPACK_VERSION in - "develop") - git clone --depth 1 --branch $SPACK_BRANCH $SPACK_REPO $SPACK_DIR - ;; - "latest_release") - wget "$(curl -sH "Accept: application/vnd.github.v3+json" https://api.github.com/repos/spack/spack/releases/latest | grep browser_download_url | cut -d '"' -f 4)" - tar xfz spack*.tar.gz - ln -s spack*/ $SPACK_DIR - ;; - *) - echo "SPACK_VERSION" must be \"latest_release\" or \"develop\" - exit 1 -esac - -mkdir ~/.spack -cp $ARBOR_DIR/spack/config.yaml ~/.spack - -source $SPACK_DIR/share/spack/setup-env.sh -spack repo create $SPACK_CUSTOM_REPO - -mkdir -p $SPACK_CUSTOM_REPO/packages/arbor -spack repo add $SPACK_CUSTOM_REPO - -# to make use of the cached installations -spack reindex - -cp $ARBOR_DIR/spack/package.py $SPACK_CUSTOM_REPO/packages/arbor -cd $ARBOR_DIR -ARBOR_VERSION=$(cat "$ARBOR_DIR/VERSION") -spack dev-build arbor@${ARBOR_VERSION} +python +git clone -c feature.manyFiles=true https://github.com/spack/spack.git +# ./spack/bin/spack install libelf +. spack/share/spack/setup-env.sh +cp ./spack/package.py spack/var/spack/repos/builtin/packages/arbor/ + +spack env create -d ./spack_env +spacktivate ./spack_env +spack add arbor +ARBOR_VERSION=$(cat "$ARBOR_SOURCE/VERSION") +spack develop --path "$ARBOR_SOURCE" --no-clone arbor@${ARBOR_VERSION} +python +spack concretize -f +spack install From 651c791055501c2a921fbdf6ffdeec848c5e6cc1 Mon Sep 17 00:00:00 2001 From: Brent Huisman Date: Fri, 7 Jul 2023 22:04:47 +0200 Subject: [PATCH 13/14] paths... --- scripts/build_spack_package.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build_spack_package.sh b/scripts/build_spack_package.sh index 23df852256..ab04df448c 100755 --- a/scripts/build_spack_package.sh +++ b/scripts/build_spack_package.sh @@ -24,12 +24,12 @@ cd "$TMP_DIR" git clone -c feature.manyFiles=true https://github.com/spack/spack.git # ./spack/bin/spack install libelf . spack/share/spack/setup-env.sh -cp ./spack/package.py spack/var/spack/repos/builtin/packages/arbor/ +cp ${ARBOR_SOURCE}/spack/package.py spack/var/spack/repos/builtin/packages/arbor/ spack env create -d ./spack_env spacktivate ./spack_env spack add arbor ARBOR_VERSION=$(cat "$ARBOR_SOURCE/VERSION") -spack develop --path "$ARBOR_SOURCE" --no-clone arbor@${ARBOR_VERSION} +python +spack develop --path ${ARBOR_SOURCE} --no-clone arbor@${ARBOR_VERSION} +python spack concretize -f spack install From af1db159d51c7962e27b91a225f38c95fb21ae81 Mon Sep 17 00:00:00 2001 From: Brent Huisman Date: Sat, 8 Jul 2023 10:20:33 +0200 Subject: [PATCH 14/14] Lets fix CI first, add features later. --- .github/workflows/spack.yml | 17 ++++++----- scripts/build_spack_package.sh | 54 ++++++++++++++++++++++++++-------- 2 files changed, 51 insertions(+), 20 deletions(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index be169581ef..bd5ed162d0 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -31,11 +31,12 @@ jobs: - name: Build Arbor's Spack package against the develop branch run: arbor/scripts/build_spack_package.sh arbor develop - - name: Run Python examples - run: | - cd arbor - scripts/run_python_examples.sh - - name: Test executables - run: | - cd arbor - scripts/test_executables.sh + # build_spack_package.sh only builds, does not install, therefore can't run Python code. + # - name: Run Python examples + # run: | + # cd arbor + # scripts/run_python_examples.sh + # - name: Test executables + # run: | + # cd arbor + # scripts/test_executables.sh diff --git a/scripts/build_spack_package.sh b/scripts/build_spack_package.sh index ab04df448c..f5e52650bc 100755 --- a/scripts/build_spack_package.sh +++ b/scripts/build_spack_package.sh @@ -20,16 +20,46 @@ cleanup() { TMP_DIR=$(mktemp -d) ARBOR_SOURCE=$1 +ARBOR_DIR=$TMP_DIR/arbor +mkdir $ARBOR_DIR +cp -r $ARBOR_SOURCE/* $ARBOR_DIR + cd "$TMP_DIR" -git clone -c feature.manyFiles=true https://github.com/spack/spack.git -# ./spack/bin/spack install libelf -. spack/share/spack/setup-env.sh -cp ${ARBOR_SOURCE}/spack/package.py spack/var/spack/repos/builtin/packages/arbor/ - -spack env create -d ./spack_env -spacktivate ./spack_env -spack add arbor -ARBOR_VERSION=$(cat "$ARBOR_SOURCE/VERSION") -spack develop --path ${ARBOR_SOURCE} --no-clone arbor@${ARBOR_VERSION} +python -spack concretize -f -spack install + +SPACK_DIR=spack +SPACK_REPO=https://github.com/spack/spack +SPACK_CUSTOM_REPO=custom_repo + +SPACK_VERSION=$2 # latest_release or develop +SPACK_BRANCH=develop # only used for develop + +case $SPACK_VERSION in + "develop") + git clone --depth 1 --branch $SPACK_BRANCH $SPACK_REPO $SPACK_DIR + ;; + "latest_release") + wget "$(curl -sH "Accept: application/vnd.github.v3+json" https://api.github.com/repos/spack/spack/releases/latest | grep browser_download_url | cut -d '"' -f 4)" + tar xfz spack*.tar.gz + ln -s spack*/ $SPACK_DIR + ;; + *) + echo "SPACK_VERSION" must be \"latest_release\" or \"develop\" + exit 1 +esac + +mkdir ~/.spack +cp $ARBOR_DIR/spack/config.yaml ~/.spack + +source $SPACK_DIR/share/spack/setup-env.sh +spack repo create $SPACK_CUSTOM_REPO + +mkdir -p $SPACK_CUSTOM_REPO/packages/arbor +spack repo add $SPACK_CUSTOM_REPO + +# to make use of the cached installations +spack reindex + +cp $ARBOR_DIR/spack/package.py $SPACK_CUSTOM_REPO/packages/arbor +cd $ARBOR_DIR +ARBOR_VERSION=$(cat "$ARBOR_DIR/VERSION") +spack dev-build arbor@${ARBOR_VERSION} +python