From 7805b04905bf8ef37851289f32a18630fc5d974c Mon Sep 17 00:00:00 2001 From: Eleni Mathioulaki <emathioulaki@athenarc.gr> Date: Wed, 6 Sep 2023 18:56:40 +0200 Subject: [PATCH] use notebook as test for multi-area-model workflow package --- .gitlab-ci.yml | 3 ++- packages/wf-multi-area-model/package.py | 24 +++++++++++++++++++++--- spack.yaml | 2 +- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 59ec4499..7f765299 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -207,7 +207,7 @@ build-spack-env-on-runner: - | # succesfully installed packages: keep the spack logs for any package modified during this CI job SPACK_PACKAGES_DIR=$SPACK_DEV_PATH/opt/spack/linux-ubuntu20.04-x86_64/gcc-10.3.0 - if cp --parents $SPACK_PACKAGES_DIR/*/.spack/*.txt ./; then + if cp --parents $SPACK_PACKAGES_DIR/*/.spack/*.txt $SPACK_PACKAGES_DIR/*/.spack_test_results/* ./; then mv .$SPACK_PACKAGES_DIR spack_logs/installed else echo "No packages installed, so no logs to collect" @@ -290,6 +290,7 @@ sync-gitlab-spack-instance: # (we use repo.yaml, that is modified at each start of the pipeline, as a reference file) SPACK_PACKAGES_DIR=$SPACK_PATH/spack/opt/spack/linux-ubuntu20.04-x86_64/gcc-10.3.0 if find $SPACK_PACKAGES_DIR/*/.spack/*.txt -newer $SPACK_REPO_PATH/repo.yaml -exec cp --parents -r "{}" ./ \;; then + cp --parents -r $SPACK_PACKAGES_DIR/*/.spack_test_results/* ./ mv .$SPACK_PACKAGES_DIR spack_logs/installed else echo "No packages installed, so no logs to collect" diff --git a/packages/wf-multi-area-model/package.py b/packages/wf-multi-area-model/package.py index 4458d123..0020b1de 100644 --- a/packages/wf-multi-area-model/package.py +++ b/packages/wf-multi-area-model/package.py @@ -6,15 +6,33 @@ from spack import * -class WfMultiAreaModel(BundlePackage): +class WfMultiAreaModel(Package): """Meta-package to collect all dependencies of the Multi-Area-Model.""" homepage="https://inm-6.github.io/multi-area-model/" - git = "https://github.com/INM-6/multi-area-model" + #git = "https://github.com/INM-6/multi-area-model" + git = "https://github.com/terhorstd/multi-area-model" maintainer = ["terhorstd"] - version("0.1") + version("master", branch="master") + version("ebrains", branch="lab.ebrains.eu") depends_on("py-nested-dict") depends_on("py-dicthash") + depends_on("py-matplotlib") + depends_on("py-numpy") + depends_on("py-scipy") + depends_on("py-future") + depends_on("nest") + depends_on("py-notebook", type="test") + def install(self, spec, prefix): + # sanity_check_prefix requires something in the install directory + mkdirp(prefix + "/.spack_test_results") + + @run_after("install") + @on_package_attributes(run_tests=True) + def installcheck(self): + # execute notebook and save + jupyter = Executable("jupyter") + jupyter("nbconvert", "--ExecutePreprocessor.kernel_name=python3", "--execute", "--allow-errors", "--to", "notebook", "multi-area-model.ipynb", "--output", prefix+"/.spack_test_results/multi-area-model.ipynb") diff --git a/spack.yaml b/spack.yaml index 89e7eec2..4a859257 100644 --- a/spack.yaml +++ b/spack.yaml @@ -62,7 +62,7 @@ spack: - wf-biobb - wf-brainscales2-demos - wf-uq-akar4@0.1 - - wf-multi-area-model@0.1 + - wf-multi-area-model@ebrains #- py-cerebstats #- py-cerebunit #- py-morphounit@1.0.4 -- GitLab