spack ci: add support for running stand-alone tests#27877
spack ci: add support for running stand-alone tests#27877tgamblin merged 1 commit intospack:developfrom
Conversation
52cd1d8 to
dc273fb
Compare
3e47927 to
9ef24b3
Compare
578b64d to
e1df1cf
Compare
2d88f26 to
817941b
Compare
|
@zackgalbreath @tgamblin @becker33 (Update: Adding Commit ec03ceb generated the output below from a run of
This corresponds to the |
4d32484 to
c291bcc
Compare
|
Since we want to know if a package does not have tests to run, I created a dummy test part so we can flag/track such packages (starting with commit 2c1ac7c). What do others think of reporting packages in this manner? An example output from running at the command line for the Is there anything missing or you would want changed? |
7012ba2 to
eb0310e
Compare
7dda56f to
de1fd1d
Compare
9c2454e to
ebb1e82
Compare
|
Interesting test failures in what appear to be a section untouched by this PR (Updated example below): Note the error seems to be related to a file path being treated as a directory: |
c4bfe48 to
3b50789
Compare
|
I was able to run spack style --fix==> Running style checks on spack
selected: isort, mypy, black, flake8
==> Modified files
lib/spack/spack/binary_distribution.py
lib/spack/spack/build_environment.py
lib/spack/spack/ci.py
lib/spack/spack/cmd/__init__.py
lib/spack/spack/cmd/ci.py
lib/spack/spack/cmd/install.py
lib/spack/spack/cmd/test.py
lib/spack/spack/environment/environment.py
lib/spack/spack/install_test.py
lib/spack/spack/installer.py
lib/spack/spack/package_base.py
lib/spack/spack/relocate.py
lib/spack/spack/report.py
lib/spack/spack/reporters/cdash.py
lib/spack/spack/reporters/extract.py
lib/spack/spack/reporters/junit.py
lib/spack/spack/schema/gitlab_ci.py
lib/spack/spack/test/ci.py
lib/spack/spack/test/cmd/ci.py
lib/spack/spack/test/cmd/config.py
lib/spack/spack/test/cmd/install.py
lib/spack/spack/test/cmd/test.py
lib/spack/spack/test/reporters.py
lib/spack/spack/test/test_suite.py
lib/spack/spack/test/util/path.py
lib/spack/spack/util/path.py
==> Bootstrapping py-black from pre-built binaries
==> Bootstrapping py-black@:21 %gcc target=x86_64 from sources
==> Bootstrapping clingo from pre-built binaries
==> Fetching https://mirror.spack.io/bootstrap/github-actions/v0.2/build_cache/linux-centos7-x86_64-gcc-10.2.1-clingo-bootstrap-spack-dtwevigmwgke4g6ee5byktpmzmrp2kvx.spec.json
==> Fetching https://mirror.spack.io/bootstrap/github-actions/v0.2/build_cache/linux-centos7-x86_64/gcc-10.2.1/clingo-bootstrap-spack/linux-centos7-x86_64-gcc-10.2.1-clingo-bootstrap-spack-dtwevigmwgke4g6ee5byktpmzmrp2kvx.spack
==> Installing "clingo-bootstrap@spack%[email protected]~docs~ipo+python+static_libstdcpp build_type=Release arch=linux-centos7-x86_64" from a buildcache
==> Bootstrapping patchelf from pre-built binaries
==> Bootstrapping [email protected]:0.13.99 %gcc target=x86_64 from sources
==> Waiting for patchelf-0.13.1-lfwjnfm4uicf4quipjouw3kj6huqqrve
�[1F�[J==> Installing patchelf-0.13.1-lfwjnfm4uicf4quipjouw3kj6huqqrve
==> No binary for patchelf-0.13.1-lfwjnfm4uicf4quipjouw3kj6huqqrve found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/08/08c0237e89be74d61ddf8f6ff218439cdd62af572d568fb38913b53e222831de.tar.gz
==> No patches needed for patchelf
==> patchelf: Executing phase: 'autoreconf'
==> patchelf: Executing phase: 'configure'
==> patchelf: Executing phase: 'build'
==> patchelf: Executing phase: 'install'
==> patchelf: Successfully installed patchelf-0.13.1-lfwjnfm4uicf4quipjouw3kj6huqqrve
Fetch: 0.04s. Build: 8.88s. Total: 8.92s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/patchelf-0.13.1-lfwjnfm4uicf4quipjouw3kj6huqqrve
[+] /usr/local (external python-3.7-xf6fhfbk7y4or2ghkaw3remwp2cyhhay)
==> Waiting for py-pip-22.1.2-k5outm3hsfhplnxfztto5p7xsyfn5mfk
�[1F�[J==> Installing py-pip-22.1.2-k5outm3hsfhplnxfztto5p7xsyfn5mfk
==> No binary for py-pip-22.1.2-k5outm3hsfhplnxfztto5p7xsyfn5mfk found: installing from source
==> Fetching https://files.pythonhosted.org/packages/py3/p/pip/pip-22.1.2-py3-none-any.whl
==> No patches needed for py-pip
==> py-pip: Executing phase: 'install'
==> py-pip: Successfully installed py-pip-22.1.2-k5outm3hsfhplnxfztto5p7xsyfn5mfk
Fetch: 0.72s. Build: 3.31s. Total: 4.03s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-pip-22.1.2-k5outm3hsfhplnxfztto5p7xsyfn5mfk
==> Waiting for py-wheel-0.37.1-iyk25i7t4z7mxovk6hbkkz3z6oevsirt
�[1F�[J==> Installing py-wheel-0.37.1-iyk25i7t4z7mxovk6hbkkz3z6oevsirt
==> No binary for py-wheel-0.37.1-iyk25i7t4z7mxovk6hbkkz3z6oevsirt found: installing from source
==> Fetching https://files.pythonhosted.org/packages/py2.py3/w/wheel/wheel-0.37.1-py2.py3-none-any.whl
==> No patches needed for py-wheel
==> py-wheel: Executing phase: 'install'
==> py-wheel: Successfully installed py-wheel-0.37.1-iyk25i7t4z7mxovk6hbkkz3z6oevsirt
Fetch: 0.67s. Build: 0.66s. Total: 1.32s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-wheel-0.37.1-iyk25i7t4z7mxovk6hbkkz3z6oevsirt
==> Waiting for py-setuptools-63.0.0-f4bjue7wk54mnigds4wn5pde2qzth3qe
�[1F�[J==> Installing py-setuptools-63.0.0-f4bjue7wk54mnigds4wn5pde2qzth3qe
==> No binary for py-setuptools-63.0.0-f4bjue7wk54mnigds4wn5pde2qzth3qe found: installing from source
==> Fetching https://files.pythonhosted.org/packages/py3/s/setuptools/setuptools-63.0.0-py3-none-any.whl
==> No patches needed for py-setuptools
==> py-setuptools: Executing phase: 'install'
==> py-setuptools: Successfully installed py-setuptools-63.0.0-f4bjue7wk54mnigds4wn5pde2qzth3qe
Fetch: 0.66s. Build: 1.32s. Total: 1.98s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-setuptools-63.0.0-f4bjue7wk54mnigds4wn5pde2qzth3qe
==> Waiting for py-tomli-1.2.2-6cg5xhj7tukj6hzvu7ymt7hq7uxogzbx
�[1F�[J==> Installing py-tomli-1.2.2-6cg5xhj7tukj6hzvu7ymt7hq7uxogzbx
==> No binary for py-tomli-1.2.2-6cg5xhj7tukj6hzvu7ymt7hq7uxogzbx found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/f0/f04066f68f5554911363063a30b108d2b5a5b1a010aa8b6132af78489fe3aade
==> No patches needed for py-tomli
==> py-tomli: Executing phase: 'install'
==> py-tomli: Successfully installed py-tomli-1.2.2-6cg5xhj7tukj6hzvu7ymt7hq7uxogzbx
Fetch: 0.04s. Build: 0.64s. Total: 0.68s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-tomli-1.2.2-6cg5xhj7tukj6hzvu7ymt7hq7uxogzbx
==> Waiting for py-flit-core-3.6.0-7m5wgiknumtuzu4jwqfvk53vzyxmf55e
�[1F�[J==> Installing py-flit-core-3.6.0-7m5wgiknumtuzu4jwqfvk53vzyxmf55e
==> No binary for py-flit-core-3.6.0-7m5wgiknumtuzu4jwqfvk53vzyxmf55e found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/58/5892962ab8b8ea945835b3a288fe9dd69316f1903d5288c3f5cafdcdd04756ad.tar.gz
==> No patches needed for py-flit-core
==> py-flit-core: Executing phase: 'install'
==> py-flit-core: Successfully installed py-flit-core-3.6.0-7m5wgiknumtuzu4jwqfvk53vzyxmf55e
Fetch: 0.06s. Build: 0.91s. Total: 0.97s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-flit-core-3.6.0-7m5wgiknumtuzu4jwqfvk53vzyxmf55e
==> Waiting for py-typed-ast-1.4.3-7zhfzivbg6leml2gs76u4n5542s2ziy6
�[1F�[J==> Installing py-typed-ast-1.4.3-7zhfzivbg6leml2gs76u4n5542s2ziy6
==> No binary for py-typed-ast-1.4.3-7zhfzivbg6leml2gs76u4n5542s2ziy6 found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/fb/fb1bbeac803adea29cedd70781399c99138358c26d05fcbd23c13016b7f5ec65.tar.gz
==> No patches needed for py-typed-ast
==> py-typed-ast: Executing phase: 'install'
==> py-typed-ast: Successfully installed py-typed-ast-1.4.3-7zhfzivbg6leml2gs76u4n5542s2ziy6
Fetch: 0.05s. Build: 14.34s. Total: 14.39s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-typed-ast-1.4.3-7zhfzivbg6leml2gs76u4n5542s2ziy6
==> Waiting for py-mypy-extensions-0.4.3-m2ljne7zbs6jcqlrnqdyxssv6z2byleq
�[1F�[J==> Installing py-mypy-extensions-0.4.3-m2ljne7zbs6jcqlrnqdyxssv6z2byleq
==> No binary for py-mypy-extensions-0.4.3-m2ljne7zbs6jcqlrnqdyxssv6z2byleq found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/2d/2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8.tar.gz
==> No patches needed for py-mypy-extensions
==> py-mypy-extensions: Executing phase: 'install'
==> py-mypy-extensions: Successfully installed py-mypy-extensions-0.4.3-m2ljne7zbs6jcqlrnqdyxssv6z2byleq
Fetch: 0.04s. Build: 1.84s. Total: 1.88s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-mypy-extensions-0.4.3-m2ljne7zbs6jcqlrnqdyxssv6z2byleq
==> Waiting for py-pyparsing-3.0.6-el3auh2snyditdnpvf5haexklkcrtfpg
�[1F�[J==> Installing py-pyparsing-3.0.6-el3auh2snyditdnpvf5haexklkcrtfpg
==> No binary for py-pyparsing-3.0.6-el3auh2snyditdnpvf5haexklkcrtfpg found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/d9/d9bdec0013ef1eb5a84ab39a3b3868911598afa494f5faa038647101504e2b81.tar.gz
==> No patches needed for py-pyparsing
==> py-pyparsing: Executing phase: 'install'
==> py-pyparsing: Successfully installed py-pyparsing-3.0.6-el3auh2snyditdnpvf5haexklkcrtfpg
Fetch: 0.10s. Build: 1.93s. Total: 2.03s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-pyparsing-3.0.6-el3auh2snyditdnpvf5haexklkcrtfpg
==> Waiting for py-pathspec-0.9.0-mi3tri4otven5swebmiqkj26s7g2uaai
�[1F�[J==> Installing py-pathspec-0.9.0-mi3tri4otven5swebmiqkj26s7g2uaai
==> No binary for py-pathspec-0.9.0-mi3tri4otven5swebmiqkj26s7g2uaai found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/e5/e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1.tar.gz
==> No patches needed for py-pathspec
==> py-pathspec: Executing phase: 'install'
==> py-pathspec: Successfully installed py-pathspec-0.9.0-mi3tri4otven5swebmiqkj26s7g2uaai
Fetch: 0.06s. Build: 1.85s. Total: 1.92s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-pathspec-0.9.0-mi3tri4otven5swebmiqkj26s7g2uaai
==> Waiting for py-typing-extensions-4.3.0-wq4kdytjxiqztkg57sctbssdye3tcziu
�[1F�[J==> Installing py-typing-extensions-4.3.0-wq4kdytjxiqztkg57sctbssdye3tcziu
==> No binary for py-typing-extensions-4.3.0-wq4kdytjxiqztkg57sctbssdye3tcziu found: installing from source
==> Fetching https://files.pythonhosted.org/packages/source/t/typing_extensions/typing_extensions-4.3.0.tar.gz
==> No patches needed for py-typing-extensions
==> py-typing-extensions: Executing phase: 'install'
==> py-typing-extensions: Successfully installed py-typing-extensions-4.3.0-wq4kdytjxiqztkg57sctbssdye3tcziu
Fetch: 0.70s. Build: 1.47s. Total: 2.17s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-typing-extensions-4.3.0-wq4kdytjxiqztkg57sctbssdye3tcziu
==> Waiting for py-packaging-21.3-u3r2vov2sjes4tma3rcnmibvealiselb
�[1F�[J==> Installing py-packaging-21.3-u3r2vov2sjes4tma3rcnmibvealiselb
==> No binary for py-packaging-21.3-u3r2vov2sjes4tma3rcnmibvealiselb found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/dd/dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb.tar.gz
==> No patches needed for py-packaging
==> py-packaging: Executing phase: 'install'
==> py-packaging: Successfully installed py-packaging-21.3-u3r2vov2sjes4tma3rcnmibvealiselb
Fetch: 0.07s. Build: 1.71s. Total: 1.78s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-packaging-21.3-u3r2vov2sjes4tma3rcnmibvealiselb
==> Waiting for py-setuptools-scm-6.3.2-t3qr4663ghwjfhyrgmp4id2fpuiakwcg
�[1F�[J==> Installing py-setuptools-scm-6.3.2-t3qr4663ghwjfhyrgmp4id2fpuiakwcg
==> No binary for py-setuptools-scm-6.3.2-t3qr4663ghwjfhyrgmp4id2fpuiakwcg found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/a4/a49aa8081eeb3514eb9728fa5040f2eaa962d6c6f4ec9c32f6c1fba88f88a0f2.tar.gz
==> No patches needed for py-setuptools-scm
==> py-setuptools-scm: Executing phase: 'install'
==> py-setuptools-scm: Successfully installed py-setuptools-scm-6.3.2-t3qr4663ghwjfhyrgmp4id2fpuiakwcg
Fetch: 0.06s. Build: 1.60s. Total: 1.67s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-setuptools-scm-6.3.2-t3qr4663ghwjfhyrgmp4id2fpuiakwcg
==> Waiting for py-platformdirs-2.4.1-ond7orp24xtp77tvxuezuc4nkb657gj5
�[1F�[J==> Installing py-platformdirs-2.4.1-ond7orp24xtp77tvxuezuc4nkb657gj5
==> No binary for py-platformdirs-2.4.1-ond7orp24xtp77tvxuezuc4nkb657gj5 found: installing from source
==> Fetching https://files.pythonhosted.org/packages/source/p/platformdirs/platformdirs-2.4.1.tar.gz
==> No patches needed for py-platformdirs
==> py-platformdirs: Executing phase: 'install'
==> py-platformdirs: Successfully installed py-platformdirs-2.4.1-ond7orp24xtp77tvxuezuc4nkb657gj5
Fetch: 0.67s. Build: 1.99s. Total: 2.66s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-platformdirs-2.4.1-ond7orp24xtp77tvxuezuc4nkb657gj5
==> Waiting for py-zipp-3.6.0-fo2kfs7faaeis42bnatslc4uhzlge66u
�[1F�[J==> Installing py-zipp-3.6.0-fo2kfs7faaeis42bnatslc4uhzlge66u
==> No binary for py-zipp-3.6.0-fo2kfs7faaeis42bnatslc4uhzlge66u found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/71/71c644c5369f4a6e07636f0aa966270449561fcea2e3d6747b8d23efaa9d7832.tar.gz
==> No patches needed for py-zipp
==> py-zipp: Executing phase: 'install'
==> py-zipp: Successfully installed py-zipp-3.6.0-fo2kfs7faaeis42bnatslc4uhzlge66u
Fetch: 0.05s. Build: 1.79s. Total: 1.84s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-zipp-3.6.0-fo2kfs7faaeis42bnatslc4uhzlge66u
==> Waiting for py-importlib-metadata-4.11.1-cmx5z2bxp3dvtbroifktoiceec2mqinu
�[1F�[J==> Installing py-importlib-metadata-4.11.1-cmx5z2bxp3dvtbroifktoiceec2mqinu
==> No binary for py-importlib-metadata-4.11.1-cmx5z2bxp3dvtbroifktoiceec2mqinu found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/17/175f4ee440a0317f6e8d81b7f8d4869f93316170a65ad2b007d2929186c8052c.tar.gz
==> No patches needed for py-importlib-metadata
==> py-importlib-metadata: Executing phase: 'install'
==> py-importlib-metadata: Successfully installed py-importlib-metadata-4.11.1-cmx5z2bxp3dvtbroifktoiceec2mqinu
Fetch: 0.04s. Build: 1.62s. Total: 1.67s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-importlib-metadata-4.11.1-cmx5z2bxp3dvtbroifktoiceec2mqinu
==> Waiting for py-click-8.0.3-m6vrp6cow4qw4wmmgx2ci7xcglcecqlv
�[1F�[J==> Installing py-click-8.0.3-m6vrp6cow4qw4wmmgx2ci7xcglcecqlv
==> No binary for py-click-8.0.3-m6vrp6cow4qw4wmmgx2ci7xcglcecqlv found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/41/410e932b050f5eed773c4cda94de75971c89cdb3155a72a0831139a79e5ecb5b.tar.gz
==> No patches needed for py-click
==> py-click: Executing phase: 'install'
==> py-click: Successfully installed py-click-8.0.3-m6vrp6cow4qw4wmmgx2ci7xcglcecqlv
Fetch: 0.05s. Build: 1.80s. Total: 1.85s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-click-8.0.3-m6vrp6cow4qw4wmmgx2ci7xcglcecqlv
==> Waiting for py-black-21.12b0-vuekotdgktt6qwecccj56nr36tk5yniu
�[1F�[J==> Installing py-black-21.12b0-vuekotdgktt6qwecccj56nr36tk5yniu
==> No binary for py-black-21.12b0-vuekotdgktt6qwecccj56nr36tk5yniu found: installing from source
==> Fetching https://files.pythonhosted.org/packages/source/b/black/black-21.12b0.tar.gz
==> No patches needed for py-black
==> py-black: Executing phase: 'install'
==> py-black: Successfully installed py-black-21.12b0-vuekotdgktt6qwecccj56nr36tk5yniu
Fetch: 0.71s. Build: 1.99s. Total: 2.70s.
[+] /root/.spack/bootstrap/store/linux-debian11-x86_64/gcc-10.2.1/py-black-21.12b0-vuekotdgktt6qwecccj56nr36tk5yniu
==> Running isort checks
isort checks were clean
==> Running mypy checks
lib/spack/spack/operating_systems/windows_os.py:40: error: No overload variant of "check_output" matches argument types "List[str]", "Dict[str, str]" [call-overload]
lib/spack/spack/operating_systems/windows_os.py:40: note: Possible overload variants:
lib/spack/spack/operating_systems/windows_os.py:40: note: def check_output(args: Union[Union[bytes, str], Sequence[Union[str, bytes, PathLike[str], PathLike[bytes]]]], bufsize: int = ..., executable: Optional[Union[str, bytes, PathLike[str], PathLike[bytes]]] = ..., stdin: Union[None, int, IO[Any]] = ..., stderr: Union[None, int, IO[Any]] = ..., preexec_fn: Optional[Callable[[], Any]] = ..., close_fds: bool = ..., shell: bool = ..., cwd: Optional[Union[str, bytes, PathLike[str], PathLike[bytes]]] = ..., env: Optional[Union[Mapping[bytes, Union[str, bytes, PathLike[str], PathLike[bytes]]], Mapping[str, Union[str, bytes, PathLike[str], PathLike[bytes]]]]] = ..., universal_newlines: bool = ..., startupinfo: Any = ..., creationflags: int = ..., restore_signals: bool = ..., start_new_session: bool = ..., pass_fds: Any = ..., *, timeout: Optional[float] = ..., input: Optional[Union[bytes, str]] = ..., encoding: Optional[str] = ..., errors: Optional[str] = ..., text: Literal[True]) -> str
lib/spack/spack/operating_systems/windows_os.py:40: note: def check_output(args: Union[Union[bytes, str], Sequence[Union[str, bytes, PathLike[str], PathLike[bytes]]]], bufsize: int = ..., executable: Optional[Union[str, bytes, PathLike[str], PathLike[bytes]]] = ..., stdin: Union[None, int, IO[Any]] = ..., stderr: Union[None, int, IO[Any]] = ..., preexec_fn: Optional[Callable[[], Any]] = ..., close_fds: bool = ..., shell: bool = ..., cwd: Optional[Union[str, bytes, PathLike[str], PathLike[bytes]]] = ..., env: Optional[Union[Mapping[bytes, Union[str, bytes, PathLike[str], PathLike[bytes]]], Mapping[str, Union[str, bytes, PathLike[str], PathLike[bytes]]]]] = ..., universal_newlines: bool = ..., startupinfo: Any = ..., creationflags: int = ..., restore_signals: bool = ..., start_new_session: bool = ..., pass_fds: Any = ..., *, timeout: Optional[float] = ..., input: Optional[Union[bytes, str]] = ..., encoding: str, errors: Optional[str] = ..., text: Optional[bool] = ...) -> str
lib/spack/spack/operating_systems/windows_os.py:40: note: def check_output(args: Union[Union[bytes, str], Sequence[Union[str, bytes, PathLike[str], PathLike[bytes]]]], bufsize: int = ..., executable: Optional[Union[str, bytes, PathLike[str], PathLike[bytes]]] = ..., stdin: Union[None, int, IO[Any]] = ..., stderr: Union[None, int, IO[Any]] = ..., preexec_fn: Optional[Callable[[], Any]] = ..., close_fds: bool = ..., shell: bool = ..., cwd: Optional[Union[str, bytes, PathLike[str], PathLike[bytes]]] = ..., env: Optional[Union[Mapping[bytes, Union[str, bytes, PathLike[str], PathLike[bytes]]], Mapping[str, Union[str, bytes, PathLike[str], PathLike[bytes]]]]] = ..., universal_newlines: bool = ..., startupinfo: Any = ..., creationflags: int = ..., restore_signals: bool = ..., start_new_session: bool = ..., pass_fds: Any = ..., *, timeout: Optional[float] = ..., input: Optional[Union[bytes, str]] = ..., encoding: Optional[str] = ..., errors: str, text: Optional[bool] = ...) -> str
lib/spack/spack/operating_systems/windows_os.py:40: note: def check_output(args: Union[Union[bytes, str], Sequence[Union[str, bytes, PathLike[str], PathLike[bytes]]]], bufsize: int = ..., executable: Optional[Union[str, bytes, PathLike[str], PathLike[bytes]]] = ..., stdin: Union[None, int, IO[Any]] = ..., stderr: Union[None, int, IO[Any]] = ..., preexec_fn: Optional[Callable[[], Any]] = ..., close_fds: bool = ..., shell: bool = ..., cwd: Optional[Union[str, bytes, PathLike[str], PathLike[bytes]]] = ..., env: Optional[Union[Mapping[bytes, Union[str, bytes, PathLike[str], PathLike[bytes]]], Mapping[str, Union[str, bytes, PathLike[str], PathLike[bytes]]]]] = ..., *, universal_newlines: Literal[True], startupinfo: Any = ..., creationflags: int = ..., restore_signals: bool = ..., start_new_session: bool = ..., pass_fds: Any = ..., timeout: Optional[float] = ..., input: Optional[Union[bytes, str]] = ..., encoding: Optional[str] = ..., errors: Optional[str] = ..., text: Optional[bool] = ...) -> str
lib/spack/spack/operating_systems/windows_os.py:40: note: def check_output(args: Union[Union[bytes, str], Sequence[Union[str, bytes, PathLike[str], PathLike[bytes]]]], bufsize: int = ..., executable: Optional[Union[str, bytes, PathLike[str], PathLike[bytes]]] = ..., stdin: Union[None, int, IO[Any]] = ..., stderr: Union[None, int, IO[Any]] = ..., preexec_fn: Optional[Callable[[], Any]] = ..., close_fds: bool = ..., shell: bool = ..., cwd: Optional[Union[str, bytes, PathLike[str], PathLike[bytes]]] = ..., env: Optional[Union[Mapping[bytes, Union[str, bytes, PathLike[str], PathLike[bytes]]], Mapping[str, Union[str, bytes, PathLike[str], PathLike[bytes]]]]] = ..., universal_newlines: Literal[False] = ..., startupinfo: Any = ..., creationflags: int = ..., restore_signals: bool = ..., start_new_session: bool = ..., pass_fds: Any = ..., *, timeout: Optional[float] = ..., input: Optional[Union[bytes, str]] = ..., encoding: None = ..., errors: None = ..., text: Optional[Literal[False]] = ...) -> bytes
lib/spack/spack/operating_systems/windows_os.py:40: note: def check_output(args: Union[Union[bytes, str], Sequence[Union[str, bytes, PathLike[str], PathLike[bytes]]]], bufsize: int = ..., executable: Optional[Union[str, bytes, PathLike[str], PathLike[bytes]]] = ..., stdin: Union[None, int, IO[Any]] = ..., stderr: Union[None, int, IO[Any]] = ..., preexec_fn: Optional[Callable[[], Any]] = ..., close_fds: bool = ..., shell: bool = ..., cwd: Optional[Union[str, bytes, PathLike[str], PathLike[bytes]]] = ..., env: Optional[Union[Mapping[bytes, Union[str, bytes, PathLike[str], PathLike[bytes]]], Mapping[str, Union[str, bytes, PathLike[str], PathLike[bytes]]]]] = ..., universal_newlines: bool = ..., startupinfo: Any = ..., creationflags: int = ..., restore_signals: bool = ..., start_new_session: bool = ..., pass_fds: Any = ..., *, timeout: Optional[float] = ..., input: Optional[Union[bytes, str]] = ..., encoding: Optional[str] = ..., errors: Optional[str] = ..., text: Optional[bool] = ...) -> Any
Found 1 error in 1 file (checked 557 source files)
mypy found errors
==> Running black checks
reformatted lib/spack/spack/cmd/ci.py
reformatted lib/spack/spack/cmd/install.py
reformatted lib/spack/spack/ci.py
reformatted lib/spack/spack/install_test.py
reformatted lib/spack/spack/installer.py
reformatted lib/spack/spack/report.py
reformatted lib/spack/spack/package_base.py
reformatted lib/spack/spack/reporters/extract.py
reformatted lib/spack/spack/reporters/junit.py
reformatted lib/spack/spack/schema/gitlab_ci.py
reformatted lib/spack/spack/reporters/cdash.py
reformatted lib/spack/spack/test/ci.py
reformatted lib/spack/spack/test/cmd/ci.py
reformatted lib/spack/spack/test/reporters.py
reformatted lib/spack/spack/test/cmd/install.py
reformatted lib/spack/spack/test/test_suite.py
reformatted lib/spack/spack/test/util/path.py
All done! ✨ 🍰 ✨
17 files reformatted, 9 files left unchanged.
black checks were clean
==> Running flake8 checks
flake8 checks were clean
I've updated the branch with isort fixes. |
|
@spackbot fix style |
|
Let me see if I can fix that for you! |
|
I was able to run spack style --fix==> Running style checks on spack
selected: isort, mypy, black, flake8
==> Modified files
lib/spack/spack/binary_distribution.py
lib/spack/spack/build_environment.py
lib/spack/spack/ci.py
lib/spack/spack/cmd/__init__.py
lib/spack/spack/cmd/ci.py
lib/spack/spack/cmd/install.py
lib/spack/spack/cmd/test.py
lib/spack/spack/environment/environment.py
lib/spack/spack/install_test.py
lib/spack/spack/installer.py
lib/spack/spack/package_base.py
lib/spack/spack/relocate.py
lib/spack/spack/report.py
lib/spack/spack/reporters/cdash.py
lib/spack/spack/reporters/extract.py
lib/spack/spack/reporters/junit.py
lib/spack/spack/schema/gitlab_ci.py
lib/spack/spack/test/ci.py
lib/spack/spack/test/cmd/ci.py
lib/spack/spack/test/cmd/config.py
lib/spack/spack/test/cmd/install.py
lib/spack/spack/test/cmd/test.py
lib/spack/spack/test/reporters.py
lib/spack/spack/test/test_suite.py
lib/spack/spack/test/util/path.py
lib/spack/spack/util/path.py
==> Running isort checks
isort checks were clean
==> Running mypy checks
Success: no issues found in 557 source files
mypy checks were clean
==> Running black checks
reformatted lib/spack/spack/cmd/ci.py
reformatted lib/spack/spack/cmd/install.py
reformatted lib/spack/spack/ci.py
reformatted lib/spack/spack/install_test.py
reformatted lib/spack/spack/installer.py
reformatted lib/spack/spack/package_base.py
reformatted lib/spack/spack/report.py
reformatted lib/spack/spack/reporters/extract.py
reformatted lib/spack/spack/reporters/junit.py
reformatted lib/spack/spack/schema/gitlab_ci.py
reformatted lib/spack/spack/reporters/cdash.py
reformatted lib/spack/spack/test/ci.py
reformatted lib/spack/spack/test/cmd/ci.py
reformatted lib/spack/spack/test/cmd/install.py
reformatted lib/spack/spack/test/test_suite.py
reformatted lib/spack/spack/test/reporters.py
reformatted lib/spack/spack/test/util/path.py
All done! ✨ 🍰 ✨
17 files reformatted, 9 files left unchanged.
black checks were clean
==> Running flake8 checks
flake8 checks were clean
==> spack style checks were clean
I've updated the branch with isort fixes. |
|
Moved |
|
@spackbot fix style |
|
Let me see if I can fix that for you! |
|
I was able to run spack style --fix==> Running style checks on spack
selected: isort, mypy, black, flake8
==> Modified files
lib/spack/spack/binary_distribution.py
lib/spack/spack/build_environment.py
lib/spack/spack/ci.py
lib/spack/spack/cmd/__init__.py
lib/spack/spack/cmd/ci.py
lib/spack/spack/cmd/install.py
lib/spack/spack/cmd/test.py
lib/spack/spack/environment/environment.py
lib/spack/spack/install_test.py
lib/spack/spack/installer.py
lib/spack/spack/package_base.py
lib/spack/spack/relocate.py
lib/spack/spack/report.py
lib/spack/spack/reporters/cdash.py
lib/spack/spack/reporters/extract.py
lib/spack/spack/reporters/junit.py
lib/spack/spack/schema/gitlab_ci.py
lib/spack/spack/test/ci.py
lib/spack/spack/test/cmd/ci.py
lib/spack/spack/test/cmd/config.py
lib/spack/spack/test/cmd/install.py
lib/spack/spack/test/cmd/test.py
lib/spack/spack/test/reporters.py
lib/spack/spack/test/test_suite.py
lib/spack/spack/test/util/path.py
lib/spack/spack/util/path.py
==> Running isort checks
isort checks were clean
==> Running mypy checks
Success: no issues found in 557 source files
mypy checks were clean
==> Running black checks
reformatted lib/spack/spack/cmd/ci.py
reformatted lib/spack/spack/cmd/install.py
reformatted lib/spack/spack/ci.py
reformatted lib/spack/spack/install_test.py
reformatted lib/spack/spack/installer.py
reformatted lib/spack/spack/report.py
reformatted lib/spack/spack/package_base.py
reformatted lib/spack/spack/reporters/extract.py
reformatted lib/spack/spack/reporters/junit.py
reformatted lib/spack/spack/schema/gitlab_ci.py
reformatted lib/spack/spack/reporters/cdash.py
reformatted lib/spack/spack/test/ci.py
reformatted lib/spack/spack/test/cmd/ci.py
reformatted lib/spack/spack/test/cmd/install.py
reformatted lib/spack/spack/test/reporters.py
reformatted lib/spack/spack/test/test_suite.py
reformatted lib/spack/spack/test/util/path.py
All done! ✨ 🍰 ✨
17 files reformatted, 9 files left unchanged.
black checks were clean
==> Running flake8 checks
flake8 checks were clean
==> spack style checks were clean
I've updated the branch with isort fixes. |
|
FYI. Just confirmed the commit to skip stand-alone testing for packages listed in |
|
@spackbot fix style |
|
Let me see if I can fix that for you! |
|
I was able to run spack style --fix==> Running style checks on spack
selected: isort, mypy, black, flake8
==> Modified files
lib/spack/spack/binary_distribution.py
lib/spack/spack/build_environment.py
lib/spack/spack/ci.py
lib/spack/spack/cmd/__init__.py
lib/spack/spack/cmd/ci.py
lib/spack/spack/cmd/install.py
lib/spack/spack/cmd/test.py
lib/spack/spack/environment/environment.py
lib/spack/spack/install_test.py
lib/spack/spack/installer.py
lib/spack/spack/package_base.py
lib/spack/spack/relocate.py
lib/spack/spack/report.py
lib/spack/spack/reporters/cdash.py
lib/spack/spack/reporters/extract.py
lib/spack/spack/reporters/junit.py
lib/spack/spack/schema/gitlab_ci.py
lib/spack/spack/test/ci.py
lib/spack/spack/test/cmd/ci.py
lib/spack/spack/test/cmd/config.py
lib/spack/spack/test/cmd/install.py
lib/spack/spack/test/cmd/test.py
lib/spack/spack/test/reporters.py
lib/spack/spack/test/test_suite.py
lib/spack/spack/test/util/path.py
lib/spack/spack/util/path.py
==> Running isort checks
isort checks were clean
==> Running mypy checks
Success: no issues found in 557 source files
mypy checks were clean
==> Running black checks
reformatted lib/spack/spack/cmd/ci.py
reformatted lib/spack/spack/cmd/install.py
reformatted lib/spack/spack/ci.py
reformatted lib/spack/spack/install_test.py
reformatted lib/spack/spack/installer.py
reformatted lib/spack/spack/package_base.py
reformatted lib/spack/spack/report.py
reformatted lib/spack/spack/reporters/extract.py
reformatted lib/spack/spack/reporters/junit.py
reformatted lib/spack/spack/schema/gitlab_ci.py
reformatted lib/spack/spack/reporters/cdash.py
reformatted lib/spack/spack/test/ci.py
reformatted lib/spack/spack/test/cmd/ci.py
reformatted lib/spack/spack/test/cmd/install.py
reformatted lib/spack/spack/test/reporters.py
reformatted lib/spack/spack/test/util/path.py
reformatted lib/spack/spack/test/test_suite.py
All done! ✨ 🍰 ✨
17 files reformatted, 9 files left unchanged.
black checks were clean
==> Running flake8 checks
flake8 checks were clean
==> spack style checks were clean
I've updated the branch with isort fixes. |
|
@spackbot fix style |
|
Let me see if I can fix that for you! |
|
@spackbot fix style |
|
Let me see if I can fix that for you! |
|
I was able to run spack style --fix==> Running style checks on spack
selected: isort, mypy, black, flake8
==> Modified files
lib/spack/spack/build_environment.py
lib/spack/spack/ci.py
lib/spack/spack/cmd/__init__.py
lib/spack/spack/cmd/ci.py
lib/spack/spack/cmd/install.py
lib/spack/spack/cmd/test.py
lib/spack/spack/environment/environment.py
lib/spack/spack/install_test.py
lib/spack/spack/installer.py
lib/spack/spack/main.py
lib/spack/spack/package_base.py
lib/spack/spack/report.py
lib/spack/spack/reporters/cdash.py
lib/spack/spack/reporters/extract.py
lib/spack/spack/reporters/junit.py
lib/spack/spack/schema/gitlab_ci.py
lib/spack/spack/test/ci.py
lib/spack/spack/test/cmd/ci.py
lib/spack/spack/test/cmd/config.py
lib/spack/spack/test/cmd/install.py
lib/spack/spack/test/cmd/test.py
lib/spack/spack/test/reporters.py
lib/spack/spack/test/test_suite.py
==> Running isort checks
isort checks were clean
==> Running mypy checks
Success: no issues found in 557 source files
mypy checks were clean
==> Running black checks
reformatted lib/spack/spack/cmd/ci.py
reformatted lib/spack/spack/cmd/install.py
reformatted lib/spack/spack/ci.py
reformatted lib/spack/spack/install_test.py
reformatted lib/spack/spack/installer.py
reformatted lib/spack/spack/report.py
reformatted lib/spack/spack/reporters/cdash.py
reformatted lib/spack/spack/reporters/extract.py
reformatted lib/spack/spack/reporters/junit.py
reformatted lib/spack/spack/schema/gitlab_ci.py
reformatted lib/spack/spack/package_base.py
reformatted lib/spack/spack/test/ci.py
reformatted lib/spack/spack/test/cmd/ci.py
reformatted lib/spack/spack/test/cmd/install.py
reformatted lib/spack/spack/test/reporters.py
reformatted lib/spack/spack/test/test_suite.py
All done! ✨ 🍰 ✨
16 files reformatted, 7 files left unchanged.
black checks were clean
==> Running flake8 checks
flake8 checks were clean
==> spack style checks were clean
I've updated the branch with isort fixes. |
|
The |
|
Rebased to develop in the hopes that that odd |
|
Everything is currently passing so I am going to drop the temporary mirror, etc. |
This support requires adding the '--tests' option to 'spack ci rebuild'. Packages whose stand-alone tests are broken (in the CI environment) can be configured in gitlab-ci to be skipped by adding them to broken-tests-packages. Highlights include: - Restructured 'spack ci' help to provide better subcommand summaries; - Ensured only one InstallError (i.e., installer's) rather than allowing build_environment to have its own; and - Refactored CI and CDash reporting to keep CDash-related properties and behavior in a separate class.
|
@tgamblin Looks like all checks have passed and this PR is RFR. |
|
ping @tgamblin |
tgamblin
left a comment
There was a problem hiding this comment.
This looks great to me @tldahlgren! Thanks for all the work debugging pipelines to get this running properly.
| self.cls = cls | ||
| self.function = function | ||
| self.filename = None | ||
| self.ctest_parsing = getattr(args, "ctest_parsing", False) |
There was a problem hiding this comment.
@zackgalbreath @tldahlgren Where is args.ctest_parsing defined? I'm currently trying to refactor these classes to make them independent of argparse namespaces and for some reason I can't find references to this argument.
The goal of this work is to run stand-alone tests from
spack ciwhen the--testsoption is used. When the option is used, the stand-alone tests are run after a successful (re)build of the package. Test results are collected and report(able) using CDash.This PR adds the following features:
-tand--teststospack ci rebuildto run stand-alone tests;--fail-fastto stop stand-alone tests after the first failure;InstallErroracross packages (i.e., removes second class from build environment);run_testas separate test parts (CDash reporting);run_testpart;gitlab-cibroken-tests-packagesto CI configuration to skip stand-alone testing for packages with known issues;spack ci --helpso description of each subcommand is a single, concise line;spack ci <subcommand> --helpto provide the full description of each command (versus no description); andjunittest log file ends in an.xmlextension (versus default where it does not).Update (2022 Mar 28): Handling of concretization failures that do not get reported to CDash is expected to be addressed in a subsequent issue/PR.
Update (2022 Apr 7):
spack ci rebuild --testsshould not be be trying to run tests for job spec dependencies, only the job spec. If the build jobs of dependency specs fail to upload to the build cache (e.g., configuration, permissions), then those jobs should be failing. (TBD: Should this PR ensure that check or is it better to have a separate PR?)Tasks:
testartifacts- [ ] Possibly add full hash in build name -- Scott Wittenburg is working on a significant change in this area ATMnot run) .. post- Testing: Optionally run tests on externally installed packages #28701 merge- [ ] Determine why concretization failure jobs and associated reports -- actually justUpdate.xml-- are not showing up in CDash