diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 99b7c3613588302eac3535c3c256bb52d7ac5023..7c8e8430a4f8a9dda378b6e6813a500f9c14cc16 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -199,6 +199,8 @@ build-spack-env-on-runner: fi # not succesfully installed packages: also keep the spack logs for any packages that failed if cp --parents /tmp/$(whoami)/spack-stage/*/*.txt ./; then + # also collect all bss test results + cp --parents -r /tmp/$(whoami)/spack-stage/*/spack-src/build/test_results ./ || echo "" mv ./tmp/$(whoami)/spack-stage spack_logs/not_installed else echo "No packages failed to build, so no logs to collect" diff --git a/packages/hxtorch/package.py b/packages/hxtorch/package.py index 87e5ea03edbddedac3005593b98e55c9c1d5fce0..5b2790e94f770b25d3bb9004b90df417a648ef8e 100644 --- a/packages/hxtorch/package.py +++ b/packages/hxtorch/package.py @@ -14,10 +14,10 @@ class Hxtorch(WafPackage): # This repo provides a waf binary used for the build below git = "https://github.com/electronicvisions/pynn-brainscales.git" - version('4.0-a4', branch='waf') + version('4.0-rc1', branch='waf') # PPU compiler dependencies - depends_on('oppulance@4.0-a4') + depends_on('oppulance@4.0-rc1') # host software dependencies depends_on('bitsery', type=('build', 'link', 'run')) @@ -35,6 +35,7 @@ class Hxtorch(WafPackage): depends_on('llvm', type=('build', 'link', 'run')) depends_on('log4cxx@0.12.1:', type=('build', 'link', 'run')) depends_on('pkgconfig', type=('build', 'link', 'run')) + depends_on('psmisc', type=('run', 'test')) depends_on('python@3.7.0:', type=('build', 'link', 'run')) # BrainScaleS(-2, type=('build', 'link', 'run')) only supports Python >= 3.7 depends_on('py-h5py', type=('build', 'link', 'run')) # PyNN tests need it depends_on('py-jax@0.3.25:', type=('build', 'link', 'run')) @@ -153,6 +154,8 @@ class Hxtorch(WafPackage): '--project=flange@ebrains-' + str(spec.version), '--project=lib-rcf@ebrains-' + str(spec.version), '--project=bss-hw-params@ebrains-' + str(spec.version), + '--project=nhtl-extoll@ebrains-' + str(spec.version), + '--project=librma@ebrains-' + str(spec.version), '--project=libnux@ebrains-' + str(spec.version) ) @@ -168,12 +171,14 @@ class Hxtorch(WafPackage): return args def build_test(self): - self.waf('install', '--test-execall') + self.waf('build', '--test-execall') def install_args(self): args = ['--test-execnone'] return args - # def install_test(self): - # with working_dir('spack-test', create=True): - # python('-c', 'import hxtorch; print(hxtorch.__file__)') + def install_test(self): + with working_dir('spack-test', create=True): + old_pythonpath = os.environ.get('PYTHONPATH', '') + os.environ['PYTHONPATH'] = ':'.join([str(self.prefix.lib), old_pythonpath]) + python('-v', '-X dev', '-c', 'import hxtorch; print(hxtorch.__file__)') diff --git a/packages/oppulance/package.py b/packages/oppulance/package.py index 697e3e794afbb2036f01814c65050ba4eed866a0..072808ff4f402b0b28aee887ceb9fe76581eb3ea 100644 --- a/packages/oppulance/package.py +++ b/packages/oppulance/package.py @@ -22,8 +22,8 @@ class Oppulance(Package): releases = [ { - 'version': '4.0-a4', - 'tag': 'ebrains-4.0-a4' + 'version': '4.0-rc1', + 'tag': 'ebrains-4.0-rc1' }, ] diff --git a/packages/psmisc/package.py b/packages/psmisc/package.py new file mode 100644 index 0000000000000000000000000000000000000000..70a58922c775019f224834dbcc1a7a67e649056c --- /dev/null +++ b/packages/psmisc/package.py @@ -0,0 +1,24 @@ +# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack import * + + +class Psmisc(AutotoolsPackage): + """A package of small utilities that use the proc file-system.""" + + homepage = "http://psmisc.sf.net/" + url = "https://sourceforge.net/projects/psmisc/files/psmisc/psmisc-23.6.tar.xz" + + version('23.6', sha256='257dde06159a4c49223d06f1cccbeb68933a4514fc8f1d77c64b54f0d108822a') + version('23.5', sha256='dc37ecc2f7e4a90a94956accc6e1c77adb71316b7c9cbd39b26738db0c3ae58b') + version('23.4', sha256='7f0cceeace2050c525f3ebb35f3ba01d618b8d690620580bdb8cd8269a0c1679') + version('23.3', sha256='41750e1a5abf7ed2647b094f58127c73dbce6876f77ba4e0a7e0995ae5c7279a') + + depends_on('autoconf', type='build') + depends_on('automake', type='build') + depends_on('libtool', type='build') + depends_on('gettext', type=('build', 'link')) + depends_on('ncurses', type=('build', 'link')) + depends_on('dejagnu', type=('build', 'link')) diff --git a/packages/pynn-brainscales/package.py b/packages/pynn-brainscales/package.py index eb71917e851ddab6a7d7cfefe618ad8a07dc94fe..0c289d29d1330759b22fe6af239b1c4fe94e74c9 100644 --- a/packages/pynn-brainscales/package.py +++ b/packages/pynn-brainscales/package.py @@ -13,10 +13,10 @@ class PynnBrainscales(WafPackage): homepage = "https://github.com/electronicvisions/pynn-brainscales" git = "https://github.com/electronicvisions/pynn-brainscales.git" - version('4.0-a4', branch='waf') + version('4.0-rc1', branch='waf') # PPU compiler dependencies - depends_on('oppulance@4.0-a4') + depends_on('oppulance@4.0-rc1') # host software dependencies depends_on('bitsery', type=('build', 'link', 'run')) @@ -34,6 +34,7 @@ class PynnBrainscales(WafPackage): depends_on('llvm', type=('build', 'link', 'run')) depends_on('log4cxx@0.12.1:', type=('build', 'link', 'run')) depends_on('pkgconfig', type=('build', 'link', 'run')) + depends_on('psmisc', type=('run', 'test')) depends_on('python@3.7.0:', type=('build', 'link', 'run')) # BrainScaleS(-2, type=('build', 'link', 'run')) only supports Python >= 3.7 depends_on('py-deap@1.3.1:', type=('build', 'link', 'run')) depends_on('py-h5py', type=('build', 'link', 'run')) # PyNN tests need it @@ -130,6 +131,8 @@ class PynnBrainscales(WafPackage): '--project=flange@ebrains-' + str(spec.version), '--project=lib-rcf@ebrains-' + str(spec.version), '--project=bss-hw-params@ebrains-' + str(spec.version), + '--project=nhtl-extoll@ebrains-' + str(spec.version), + '--project=librma@ebrains-' + str(spec.version), '--project=libnux@ebrains-' + str(spec.version) ) @@ -145,12 +148,14 @@ class PynnBrainscales(WafPackage): return args def build_test(self): - self.waf('install', '--test-execall') + self.waf('build', '--test-execall') def install_args(self): args = ['--test-execnone'] return args - # def install_test(self): - # with working_dir('spack-test', create=True): - # python('-c', 'import pynn_brainscales; print(pynn_brainscales.__file__)') + def install_test(self): + with working_dir('spack-test', create=True): + old_pythonpath = os.environ.get('PYTHONPATH', '') + os.environ['PYTHONPATH'] = ':'.join([str(self.prefix.lib), old_pythonpath]) + python('-c', 'import pynn_brainscales; print(pynn_brainscales.__file__)') diff --git a/spack.yaml b/spack.yaml index 52ca0bf4259b211d72ea818f3a6e0712cf2774a0..3dd63b96c5c4e2b3472f89d2b9661bb835b4c61d 100644 --- a/spack.yaml +++ b/spack.yaml @@ -19,8 +19,8 @@ spack: - py-tvb-library@2.7.3 - py-tvb-storage@2.7.3 - py-tvb-framework@2.7.3.1 - - pynn-brainscales@4.0-a4 - - hxtorch@4.0-a4 + - pynn-brainscales@4.0-rc1 + - hxtorch@4.0-rc1 - py-nestml@5.2.0 - py-neo@0.12.0 - py-hdmf@3.4.6