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

Drop unittest for integration and system tests #949

Merged
merged 89 commits into from
Jun 26, 2024
Merged
Show file tree
Hide file tree
Changes from 75 commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
209c779
inital update
Jan 29, 2024
59c9119
remove blas variant, remove serialbox
Jan 29, 2024
f8f1bdf
remove old extensions
Jan 29, 2024
362b35e
Delete sysconfigs/tsa/modules.yaml
dominichofer Feb 1, 2024
0caa92b
do not use upstreams
Feb 1, 2024
3e5bbf4
Merge branch 'dev_v0.21.1' of github.com:C2SM/spack-c2sm into dev_v0.…
Feb 1, 2024
ab4f4a2
py-toolz available in upstream spack
Feb 1, 2024
1ceb0c7
GitHub Action: Apply Pep8-formatting
invalid-email-address Feb 1, 2024
ee202cf
remove upstreams
Feb 1, 2024
47d62ca
add version 0.12.3
Feb 1, 2024
205ffe6
cython@2 for pytoolz@0.12.0
Feb 13, 2024
3ed0137
GitHub Action: Apply Pep8-formatting
invalid-email-address Feb 13, 2024
4056566
inherit from upstream, introduce v 2.4.0
Feb 13, 2024
bb34584
GitHub Action: Apply Pep8-formatting
invalid-email-address Feb 13, 2024
a7d055a
lock pip to :23.0 for py-cmake
Feb 13, 2024
9730d27
Merge branch 'dev_v0.21.1' of github.com:C2SM/spack-c2sm into dev_v0.…
Feb 13, 2024
70e385f
lock eckit-version for infero
Feb 13, 2024
2834f46
temporary deactivate testsuite for int2lm
Feb 15, 2024
6b241f8
Revert "temporary deactivate testsuite for int2lm"
Feb 15, 2024
663ca8c
remove gmake on Daint
Feb 19, 2024
bdcfe98
remove deprecated config
Feb 19, 2024
056ac6e
add gmake again
Feb 22, 2024
3534c7e
Remove faulty classification as "spack locking problem"
dominichofer Feb 23, 2024
e46164a
[python] no default ssl package
dominichofer Feb 23, 2024
8514ffe
[fdb] Remove package and tests
dominichofer Feb 23, 2024
fe41fc2
[fckit] Remove package and tests
dominichofer Feb 23, 2024
98ef7ed
[numpy] Remove package and tests.
dominichofer Feb 23, 2024
586747c
Revert "[fckit] Remove package and tests"
Feb 26, 2024
d9c9a9e
Fix FDB related tests (#920)
victoria-cherkas Feb 27, 2024
53fcc0a
test:fix(pytorch-fortran): try explicit dependency on (c/g)make%gcc
leclairm Feb 29, 2024
4e53c73
upd: point to icon-c2sm branch spack_v0.21.1
leclairm Mar 1, 2024
bb02e1b
Update system_test.py
jonasjucker Mar 4, 2024
2d70626
GitHub Action: Apply Pep8-formatting
invalid-email-address Mar 4, 2024
be37428
upd: cosmo spack env
leclairm Mar 4, 2024
f51bc0f
Merge branch 'main' of github.com:C2SM/spack-c2sm into dev_v0.21.1
Mar 6, 2024
73b8f62
skip failing tests
Mar 12, 2024
f14cad7
GitHub Action: Apply Pep8-formatting
invalid-email-address Mar 12, 2024
a5b8577
add link to latest spack version
Mar 12, 2024
2dbc567
Merge branch 'dev_v0.21.1' of github.com:C2SM/spack-c2sm into dev_v0.…
Mar 12, 2024
ec10891
downgrade icon4py,gt4py mostly to build-tests, add fdb again
Mar 12, 2024
eedf6e3
GitHub Action: Apply Pep8-formatting
invalid-email-address Mar 12, 2024
f487d15
add upstreams for Daint
Mar 12, 2024
0e5c21f
add upstream to config
Mar 12, 2024
c1abeb3
adapt unit-test
Mar 12, 2024
8bd2ae6
Use single-thread make for flexpart-cosmo
mjaehn Mar 28, 2024
c2bd45e
Merge branch 'main' of github.com:C2SM/spack-c2sm into dev_v0.21.1
mjaehn Mar 28, 2024
cd43f0b
Update system_test.py
jonasjucker Apr 2, 2024
d9f9f7f
Fixes to gt4py in v0.21.1 (#937)
abishekg7 Apr 17, 2024
1bd69b5
Update system_test.py (#938)
abishekg7 Apr 18, 2024
7f05c36
drop test for nvhpc-cpu ICON
jonasjucker Apr 18, 2024
ba5c86d
Merge branch 'main' of github.com:C2SM/spack-c2sm into dev_v0.21.1
Apr 18, 2024
d18b6ce
cleanup
Apr 18, 2024
9565d57
[py-gt4py] fixes to typing-extensions versions (#939)
abishekg7 Apr 19, 2024
76015b7
remove irrelevant test
May 13, 2024
0c524f6
Merge branch 'main' of github.com:C2SM/spack-c2sm into dev_v0.21.1
May 13, 2024
0339c09
parametrize integration tests
May 15, 2024
8fa9132
adapte trigger test
May 15, 2024
420487d
cleanup
May 15, 2024
614e1db
GitHub Action: Apply Pep8-formatting
invalid-email-address May 15, 2024
b1400b7
fix bug
May 15, 2024
d06f8f6
exclude packages for spack spec
May 15, 2024
4b40126
GitHub Action: Apply Pep8-formatting
invalid-email-address May 15, 2024
2312aa4
first shot of test
May 15, 2024
2b4b761
GitHub Action: Apply Pep8-formatting
invalid-email-address May 15, 2024
dfbf164
fix
May 15, 2024
08bd714
unique function names
May 16, 2024
7602028
GitHub Action: Apply Pep8-formatting
invalid-email-address May 16, 2024
a78d2e0
all tests ported
May 16, 2024
7f45895
GitHub Action: Apply Pep8-formatting
invalid-email-address May 16, 2024
bb5ef49
use fixture for devirtualize_env
May 16, 2024
2d0d0c3
Merge branch 'pure_pytest' of github.com:C2SM/spack-c2sm into pure_py…
May 16, 2024
c9d00e3
GitHub Action: Apply Pep8-formatting
invalid-email-address May 16, 2024
cd511c5
speed up
May 16, 2024
d034f3b
fix tests
May 16, 2024
aae44bf
GitHub Action: Apply Pep8-formatting
invalid-email-address May 16, 2024
336255b
move unssuported packages closer to test
May 22, 2024
21da2ed
GitHub Action: Apply Pep8-formatting
invalid-email-address May 22, 2024
65eafb1
Merge branch 'main' of github.com:C2SM/spack-c2sm into pure_pytest
Jun 20, 2024
0a9c9f1
drop claw
Jun 20, 2024
acf5775
GitHub Action: Apply Pep8-formatting
invalid-email-address Jun 20, 2024
a5aa34f
fix broken tests
Jun 20, 2024
8218410
remove test from deleted packages
Jun 20, 2024
a244e3a
merge infero tests
Jun 24, 2024
79a49ef
fix icon tests
Jun 24, 2024
66f8bfc
fix duplicate logfile error
Jun 24, 2024
113a5f4
GitHub Action: Apply Pep8-formatting
invalid-email-address Jun 24, 2024
54216c4
deactive gcc on Daint
Jun 24, 2024
5e36065
remove self
Jun 24, 2024
784584d
check string in filename
Jun 25, 2024
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
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "spack"]
path = spack
url = https://github.com/dominichofer/spack.git
url = https://github.com/spack/spack.git
4 changes: 2 additions & 2 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ pipeline {
steps {
sh """
source env/bin/activate
pytest -v -n auto --maxprocesses=12 --scope \"""" + env.ghprbCommentBody + " parallel\" test/system_test.py"
pytest -v -n auto --maxprocesses=24 --scope \"""" + env.ghprbCommentBody + " parallel\" test/system_test.py"
}
}
stage('System Tests Serial') {
Expand All @@ -70,7 +70,7 @@ pipeline {
mkdir -p log/${NODENAME}/system_test
touch log/${NODENAME}/system_test/serial_test_run
source env/bin/activate
pytest -v -n auto --maxprocesses=12 --scope \"""" + env.ghprbCommentBody + " serial\" test/system_test.py"
pytest -v -n auto --maxprocesses=24 --scope \"""" + env.ghprbCommentBody + " serial\" test/system_test.py"
}
}
}
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ Spack is the package manager used by C2SM and MeteoSwiss to install and deploy s
* [spack-c2sm v0.18.1.1](https://C2SM.github.io/spack-c2sm/v0.18.1.1) [deprecated]

**General infos about spack**
* [Official spack v0.21.1](https://spack.readthedocs.io/en/v0.21.1/)
* [Official spack v0.20.1](https://spack.readthedocs.io/en/v0.20.1/)
* [Official spack v0.18.1](https://spack.readthedocs.io/en/v0.18.1/)

Expand Down
23 changes: 8 additions & 15 deletions repos/c2sm/packages/fdb/package.py
Original file line number Diff line number Diff line change
@@ -1,28 +1,21 @@
# Copyright 2013-2022 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.package import *

from spack.pkg.builtin.fdb import Fdb as SpackFdb


class Fdb(SpackFdb):
"""FDB (Fields DataBase) is a domain-specific object store developed at
ECMWF for storing, indexing and retrieving GRIB data."""

version("5.11.17",
sha256=
"375c6893c7c60f6fdd666d2abaccb2558667bd450100817c0e1072708ad5591e")

depends_on("ecbuild@3.7:", type="build", when="@5.11.6:")
# This section can be removed when the following commit
# https://github.com/spack/spack/commit/8871bd5ba5c58562b8c20baa00f125aeccba586f
# is included in a release on spack and this is used by spack-c2sm.
depends_on("eckit@1.24.4:", when="@5.11.22:")

# This section can be removed when the following PR
# https://github.com/spack/spack/pull/42874
# is included in a release on spack and this is used by spack-c2sm.
@property
def libs(self):
return find_libraries("libfdb5",
root=self.prefix,
shared=True,
recursive=True)

def setup_build_environment(self, env):
env.set('CTEST_OUTPUT_ON_FAILURE', 1)
1 change: 1 addition & 0 deletions repos/c2sm/packages/flexpart-cosmo/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ def setup_build_environment(self, env):
def build(self, spec, prefix):

with working_dir(self.build_directory):
make.jobs = 1
make('-f', self.makefile_file)

def install(self, spec, prefix):
Expand Down
4 changes: 2 additions & 2 deletions repos/c2sm/packages/infero/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ class Infero(CMakePackage):
variant('tf_c', description='Enable tensorflow-c backend', default=False)
variant('onnx', description='Enable ONNX backend', default=False)

depends_on('eckit@1.20.0:')
depends_on('fckit')
depends_on('eckit@1.20.2')
depends_on('fckit@0.9.0')
depends_on('ecbuild', type=('build'))
depends_on('tensorflowc', when='+tf_c')
depends_on('onnx-runtime', when='+onnx')
Expand Down
10 changes: 10 additions & 0 deletions repos/c2sm/packages/metkit/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from spack.package import *

from spack.pkg.builtin.metkit import Metkit as SpackMetkit


class Metkit(SpackMetkit):

# This file can be removed when this PR https://github.com/spack/spack/pull/42871
# is included in a release on spack and this is used by spack-c2sm.
depends_on("eckit@:1.21", when="@:1.10")
2 changes: 2 additions & 0 deletions repos/c2sm/packages/py-cmake/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ class PyCmake(PythonPackage):
sha256=
'52b98c5ee70b5fa30a8623e96482227e065292f78794eb085fdf0fecb204b79b')

# in newer pip versions --install-option does not exist
depends_on("py-pip@:23.0", type="build")
depends_on('ninja', type='build')
depends_on('py-scikit-build@0.12:', type='build')
depends_on('py-setuptools@42:', type='build')
Expand Down
7 changes: 7 additions & 0 deletions repos/c2sm/packages/py-cytoolz/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,20 @@ class PyCytoolz(PythonPackage):

maintainers = ['samkellerhals']

version('0.12.3',
sha256=
'4503dc59f4ced53a54643272c61dc305d1dbbfbd7d6bdf296948de9f34c3a282')
version('0.12.0',
sha256=
'c105b05f85e03fbcd60244375968e62e44fe798c15a3531c922d531018d22412')

depends_on('py-setuptools', type='build')
depends_on('py-cython', type='build')

# py-cytoolz@0.12.0 not compatible with py-cython@3:, see
# https://www.layerzrozero.network/?_=%2Fpytoolz%2Fcytoolz%2Fissues%2F202%23w2n%2BddnGqHIZTHHkluHJC3Vn
depends_on('py-cython@:2', when='@0.12.0', type='build')

depends_on('python@3.5:', type=('build', 'run'))
depends_on('py-toolz@0.8.0:', type=('build', 'run'))

Expand Down
27 changes: 12 additions & 15 deletions repos/c2sm/packages/py-frozendict/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,19 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack import *
from spack.pkg.builtin.py_frozendict import PyFrozendict as SpackPyFrozendict


class PyFrozendict(PythonPackage):
"""frozendict is a simple immutable dictionary."""
class PyFrozendict(SpackPyFrozendict):

homepage = "https://github.com/Marco-Sulla/python-frozendict"

pypi = 'frozendict/frozendict-2.3.4.tar.gz'

maintainers = ['samkellerhals']

# FIXME: Add proper versions and checksums here.
version('2.3.4',
version('2.4.0',
sha256=
'15b4b18346259392b0d27598f240e9390fafbff882137a9c48a1e0104fb17f78')

depends_on('python@3.6:', type=('build', 'run'))

depends_on('py-setuptools', type='build')
'c26758198e403337933a92b01f417a8240c954f553e1d4b5e0f8e39d9c8e3f0a')

# TODO: remove this extension once we have a more recent
# version than v0.21.1
def setup_build_environment(self, env):
# C extension is not supported for 3.11+. See also
# https://github.com/Marco-Sulla/python-frozendict/issues/68
if self.spec.satisfies("^python@3.11:"):
env.set("FROZENDICT_PURE_PY", "1")
9 changes: 7 additions & 2 deletions repos/c2sm/packages/py-gt4py/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ class PyGt4py(PythonPackage):
depends_on('py-lark@1.1.2:', type=('build', 'run'))
depends_on('py-mako@1.1:', type=('build', 'run'))
depends_on('py-ninja@1.10:', type=('build', 'run'))
depends_on('py-numpy@1.24.2: ~blas ~lapack', type=('build', 'run'))
depends_on('py-numpy@1.24.2:', type=('build', 'run'))
depends_on('py-packaging@20.0:', type=('build', 'run'))

# versions later than 2.9.2 fail to pick to right Python version
Expand All @@ -68,7 +68,12 @@ class PyGt4py(PythonPackage):

depends_on('py-nanobind@1.4.0:', when="@1.0.1.3:", type=('build', 'run'))
depends_on('py-tabulate@0.8.10:', type=('build', 'run'))
depends_on('py-typing-extensions@4.2:4.6', type=('build', 'run'))
depends_on('py-typing-extensions@4.5.0',
when="@:1.0.3.5",
type=('build', 'run'))
depends_on('py-typing-extensions@4.10.0',
when="@1.0.3.6:",
type=('build', 'run'))
depends_on('py-toolz@0.12.0:', type=('build', 'run'))
depends_on('py-xxhash@1.4.4:3.0.9', type=('build', 'run'))
depends_on('py-hypothesis@6.0.0:', type=('build', 'run'))
Expand Down
24 changes: 0 additions & 24 deletions repos/c2sm/packages/py-numpy/package.py

This file was deleted.

11 changes: 0 additions & 11 deletions repos/c2sm/packages/py-toolz/package.py

This file was deleted.

3 changes: 3 additions & 0 deletions repos/c2sm/packages/py-typing-extensions/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
class PyTypingExtensions(SpackPyTypingExtensions):
"""Backported and Experimental Type Hints for Python 3.7+"""

version("4.10.0",
sha256=
"b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb")
version("4.5.0",
sha256=
"5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb")
Expand Down
5 changes: 5 additions & 0 deletions repos/c2sm/packages/python/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from spack.pkg.builtin.python import Python as SpackPython


class Python(SpackPython):
variant("ssl", default=False, description="Build ssl module")
2 changes: 1 addition & 1 deletion spack
Submodule spack updated 3396 files
2 changes: 1 addition & 1 deletion src/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
from .machine import machine_name
from .spack_commands import log_with_spack
from .github import GitHubRepo, Markdown, HTML
from .scope import all_machines, all_packages, explicit_scope, package_triggers
from .scope import all_machines, all_packages, explicit_scope, package_triggers, all_packages_underscore
2 changes: 0 additions & 2 deletions src/report_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,6 @@ def __str__(self) -> str:
# Trigger phrases that cause a test to get a special icon and comment.
# List[(trigger, icon, comment)]
triggers = [
('AssertionError exception when releasing read lock', ':lock:',
'spack locking problem'),
('Timed out waiting for a write lock', ':lock:',
'spack write lock problem'),
('Timed out waiting for a read lock', ':lock:',
Expand Down
19 changes: 8 additions & 11 deletions src/scope.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
os.path.join(spack_c2sm_path, 'repos/c2sm/packages')) if os.path.isdir(
os.path.join(spack_c2sm_path, 'repos/c2sm/packages', name))
]
all_packages_underscore = [p.replace('-', '_') for p in all_packages]


def explicit_scope(scope: str) -> list:
Expand All @@ -24,14 +25,10 @@ def explicit_scope(scope: str) -> list:


def package_triggers(scope: list) -> list:
"""
Transforms ['package-name'] to ['packagenametest', 'test_package_name']
so they match with the naming convenction of testcases and tests.
"""

active_packages = [x for x in all_packages if x in scope] # intersection
active_testcases = [
x.replace('-', '').replace('_', '') + 'test' for x in active_packages
]
active_tests = ['test_' + x.replace('-', '_') for x in active_packages]
return active_testcases + active_tests
triggers = []
for x, y in zip(all_packages, all_packages_underscore):
if x in scope:
triggers.append(x)
triggers.append(y)

return triggers
2 changes: 0 additions & 2 deletions sysconfigs/balfrin/config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
config:
extensions:
- '$spack/../tools/spack-scripting'
build_stage: '$spack/../spack-build_stage'
test_stage: '$spack/../spack-test_stage'
misc_cache: '$spack/../spack-misc_cache'
Expand Down
2 changes: 0 additions & 2 deletions sysconfigs/daint/config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
config:
extensions:
- '$spack/../tools/spack-scripting'
build_stage: '$spack/../spack-build_stage'
test_stage: '$spack/../spack-test_stage'
misc_cache: '$spack/../spack-misc_cache'
Expand Down
83 changes: 0 additions & 83 deletions sysconfigs/daint/modules.yaml

This file was deleted.

1 change: 0 additions & 1 deletion sysconfigs/daint/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ packages:
cosmo: # manually added
variants: slave=daint cuda_arch=60
cosmo-dycore: # manually added
compiler: [gcc@8.3.0]
variants: slave=daint cuda_arch=60 data_path=/scratch/snx3000/jenkins/data/cosmo/
cuda: # manually added
buildable: false
Expand Down
Loading