Fix broken CI for package only PRs, make dateutil not strictly required (#24484)
* Force the Python interpreter with an env variable
This commit forces the Python interpreter with an
environment variable, to ensure that the Python set
by the "setup-python" action is the one being used.
Due to the policy adopted by Spack to prefer python3
over python we may end up picking a Python 3.X
interpreter where Python 2.7 was meant to be used.
* Revert "Update conftest.py (#24473)"
This reverts commit 477c8ce820
.
* Make python-dateutil a soft dependency for unit tests
Before #23212 people could clone spack and run
```
spack unit-tests
```
while now this is not possible, since python-dateutil is
a required but not vendored dependency. This change makes
it not a hard requirement, i.e. it will be used if found
in the current interpreter.
* Workaround mypy complaint
This commit is contained in:
parent
97f0c3ccd9
commit
1bccd866ae
2 changed files with 9 additions and 6 deletions
4
.github/workflows/unit_tests.yaml
vendored
4
.github/workflows/unit_tests.yaml
vendored
|
@ -156,6 +156,8 @@ jobs:
|
|||
make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install
|
||||
- name: Bootstrap clingo from sources
|
||||
if: ${{ matrix.concretizer == 'clingo' }}
|
||||
env:
|
||||
SPACK_PYTHON: python
|
||||
run: |
|
||||
. share/spack/setup-env.sh
|
||||
spack external find --not-buildable cmake bison
|
||||
|
@ -163,6 +165,7 @@ jobs:
|
|||
- name: Run unit tests (full suite with coverage)
|
||||
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
|
||||
env:
|
||||
SPACK_PYTHON: python
|
||||
COVERAGE: true
|
||||
SPACK_TEST_SOLVER: ${{ matrix.concretizer }}
|
||||
run: |
|
||||
|
@ -172,6 +175,7 @@ jobs:
|
|||
- name: Run unit tests (reduced suite without coverage)
|
||||
if: ${{ needs.changes.outputs.with_coverage == 'false' }}
|
||||
env:
|
||||
SPACK_PYTHON: python
|
||||
ONLY_PACKAGES: true
|
||||
SPACK_TEST_SOLVER: ${{ matrix.concretizer }}
|
||||
run: |
|
||||
|
|
|
@ -12,20 +12,19 @@
|
|||
import os.path
|
||||
import re
|
||||
import shutil
|
||||
import sys
|
||||
import tempfile
|
||||
import xml.etree.ElementTree
|
||||
|
||||
if sys.version_info >= (3,):
|
||||
try:
|
||||
# CVS outputs dates in different formats on different systems. We are using
|
||||
# the dateutil package to parse these dates. This package does not exist
|
||||
# for Python 2.x. That means that we cannot test checkouts "by date" for
|
||||
# for Python <2.7. That means that we cannot test checkouts "by date" for
|
||||
# CVS respositories. (We can still use CVS repos with all features, only
|
||||
# our tests break.)
|
||||
from dateutil.parser import parse as parse_date
|
||||
else:
|
||||
def parse_date(string):
|
||||
pytest.skip("dateutil package not available for Python 2.6")
|
||||
except ImportError:
|
||||
def parse_date(string): # type: ignore
|
||||
pytest.skip("dateutil package not available")
|
||||
|
||||
import py
|
||||
import pytest
|
||||
|
|
Loading…
Reference in a new issue