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
|
make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install
|
||||||
- name: Bootstrap clingo from sources
|
- name: Bootstrap clingo from sources
|
||||||
if: ${{ matrix.concretizer == 'clingo' }}
|
if: ${{ matrix.concretizer == 'clingo' }}
|
||||||
|
env:
|
||||||
|
SPACK_PYTHON: python
|
||||||
run: |
|
run: |
|
||||||
. share/spack/setup-env.sh
|
. share/spack/setup-env.sh
|
||||||
spack external find --not-buildable cmake bison
|
spack external find --not-buildable cmake bison
|
||||||
|
@ -163,6 +165,7 @@ jobs:
|
||||||
- name: Run unit tests (full suite with coverage)
|
- name: Run unit tests (full suite with coverage)
|
||||||
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
|
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
|
||||||
env:
|
env:
|
||||||
|
SPACK_PYTHON: python
|
||||||
COVERAGE: true
|
COVERAGE: true
|
||||||
SPACK_TEST_SOLVER: ${{ matrix.concretizer }}
|
SPACK_TEST_SOLVER: ${{ matrix.concretizer }}
|
||||||
run: |
|
run: |
|
||||||
|
@ -172,6 +175,7 @@ jobs:
|
||||||
- name: Run unit tests (reduced suite without coverage)
|
- name: Run unit tests (reduced suite without coverage)
|
||||||
if: ${{ needs.changes.outputs.with_coverage == 'false' }}
|
if: ${{ needs.changes.outputs.with_coverage == 'false' }}
|
||||||
env:
|
env:
|
||||||
|
SPACK_PYTHON: python
|
||||||
ONLY_PACKAGES: true
|
ONLY_PACKAGES: true
|
||||||
SPACK_TEST_SOLVER: ${{ matrix.concretizer }}
|
SPACK_TEST_SOLVER: ${{ matrix.concretizer }}
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -12,20 +12,19 @@
|
||||||
import os.path
|
import os.path
|
||||||
import re
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
import sys
|
|
||||||
import tempfile
|
import tempfile
|
||||||
import xml.etree.ElementTree
|
import xml.etree.ElementTree
|
||||||
|
|
||||||
if sys.version_info >= (3,):
|
try:
|
||||||
# CVS outputs dates in different formats on different systems. We are using
|
# CVS outputs dates in different formats on different systems. We are using
|
||||||
# the dateutil package to parse these dates. This package does not exist
|
# 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
|
# CVS respositories. (We can still use CVS repos with all features, only
|
||||||
# our tests break.)
|
# our tests break.)
|
||||||
from dateutil.parser import parse as parse_date
|
from dateutil.parser import parse as parse_date
|
||||||
else:
|
except ImportError:
|
||||||
def parse_date(string):
|
def parse_date(string): # type: ignore
|
||||||
pytest.skip("dateutil package not available for Python 2.6")
|
pytest.skip("dateutil package not available")
|
||||||
|
|
||||||
import py
|
import py
|
||||||
import pytest
|
import pytest
|
||||||
|
|
Loading…
Reference in a new issue