-
Notifications
You must be signed in to change notification settings - Fork 17
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
Reset hdbscan
in numpy2
migrator
#30
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Looks like there are some unrelated pydantic test failures on CI: =================================== FAILURES ===================================
____________________ test_model_valid[node_attrs-ucx-split] ____________________
model = PerPackageModel(base_path=PosixPath('node_attrs'), model=<pydantic.type_adapter.TypeAdapter object at 0x7fab1bf23950>,...'pnab', 'stats_arrays', 'alibabacloud-openapi-util', 'path.py', 'sparc-x', 'pyrosm', 'birka', 'gulp'}, must_exist=True)
valid_feedstock = 'ucx-split'
def test_model_valid(model: PerPackageModel, valid_feedstock: str):
path = get_sharded_path(model.base_path / f"{valid_feedstock}.json")
try:
with open(path) as f:
node_attrs = f.read()
except FileNotFoundError:
if model.must_exist:
raise
pytest.skip(f"{path} does not exist")
> model.model.validate_json(node_attrs)
../cf-scripts/tests/model/test_validate.py:200:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../../../miniconda3/envs/cf-scripts/lib/python3.11/site-packages/pydantic/type_adapter.py:142: in wrapped
return func(self, *args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pydantic.type_adapter.TypeAdapter object at 0x7fab1bf23950>
data = '{\n "archived": false,\n "branch": "main",\n "conda-forge.yml": {\n "azure": {\n "free_disk_space": true,\n "sto...7.0.tar.gz",\n "version": "1.16.0",\n "version_pr_info": {\n "__lazy_json__": "version_pr_info/ucx-split.json"\n }\n}'
@_frame_depth(1)
def validate_json(
self, data: str | bytes, /, *, strict: bool | None = None, context: dict[str, Any] | None = None
) -> T:
"""Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing
Validate a JSON string or bytes against the model.
Args:
data: The JSON data to validate against the model.
strict: Whether to strictly check types.
context: Additional context to use during validation.
Returns:
The validated object.
"""
> return self.validator.validate_json(data, strict=strict, context=context)
E pydantic_core._pydantic_core.ValidationError: 2 validation errors for union[function-after[check_version_match(), function-after[check_all_platform_infos_present(), NodeAttributesValid]],NodeAttributesError]
E function-after[check_version_match(), function-after[check_all_platform_infos_present(), NodeAttributesValid]]
E Value error, The top-level `version` field must match at least one of the `outputs[].version` fields in the `meta_yaml` field. [type=value_error, input_value={'archived': False, 'bran...r_info/ucx-split.json'}}, input_type=dict]
E For further information visit https://errors.pydantic.dev/2.8/v/value_error
E NodeAttributesError.parsing_error
E Input should be a valid string [type=string_type, input_value=False, input_type=bool]
E For further information visit https://errors.pydantic.dev/2.8/v/string_type
../../../../miniconda3/envs/cf-scripts/lib/python3.11/site-packages/pydantic/type_adapter.py:391: ValidationError
_______________ test_model_invalid[node_attrs-sqlalchemy-drill] ________________
model = PerPackageModel(base_path=PosixPath('node_attrs'), model=<pydantic.type_adapter.TypeAdapter object at 0x7fab1bf23950>,...'pnab', 'stats_arrays', 'alibabacloud-openapi-util', 'path.py', 'sparc-x', 'pyrosm', 'birka', 'gulp'}, must_exist=True)
invalid_feedstock = 'sqlalchemy-drill'
def test_model_invalid(model: PerPackageModel, invalid_feedstock: str):
path = get_sharded_path(model.base_path / f"{invalid_feedstock}.json")
try:
with open(path) as f:
node_attrs = f.read()
except FileNotFoundError:
if model.must_exist:
raise
pytest.skip(f"{path} does not exist")
> with pytest.raises(ValidationError):
E Failed: DID NOT RAISE <class 'pydantic_core._pydantic_core.ValidationError'>
../cf-scripts/tests/model/test_validate.py:213: Failed
_____________________ test_model_invalid[node_attrs-mamba] _____________________
model = PerPackageModel(base_path=PosixPath('node_attrs'), model=<pydantic.type_adapter.TypeAdapter object at 0x7fab1bf23950>,...'pnab', 'stats_arrays', 'alibabacloud-openapi-util', 'path.py', 'sparc-x', 'pyrosm', 'birka', 'gulp'}, must_exist=True)
invalid_feedstock = 'mamba'
def test_model_invalid(model: PerPackageModel, invalid_feedstock: str):
path = get_sharded_path(model.base_path / f"{invalid_feedstock}.json")
try:
with open(path) as f:
node_attrs = f.read()
except FileNotFoundError:
if model.must_exist:
raise
pytest.skip(f"{path} does not exist")
> with pytest.raises(ValidationError):
E Failed: DID NOT RAISE <class 'pydantic_core._pydantic_core.ValidationError'>
../cf-scripts/tests/model/test_validate.py:213: Failed
_____________________ test_model_invalid[node_attrs-r-v8] ______________________
model = PerPackageModel(base_path=PosixPath('node_attrs'), model=<pydantic.type_adapter.TypeAdapter object at 0x7fab1bf23950>,...'pnab', 'stats_arrays', 'alibabacloud-openapi-util', 'path.py', 'sparc-x', 'pyrosm', 'birka', 'gulp'}, must_exist=True)
invalid_feedstock = 'r-v8'
def test_model_invalid(model: PerPackageModel, invalid_feedstock: str):
path = get_sharded_path(model.base_path / f"{invalid_feedstock}.json")
try:
with open(path) as f:
node_attrs = f.read()
except FileNotFoundError:
if model.must_exist:
raise
pytest.skip(f"{path} does not exist")
> with pytest.raises(ValidationError):
E Failed: DID NOT RAISE <class 'pydantic_core._pydantic_core.ValidationError'>
../cf-scripts/tests/model/test_validate.py:213: Failed
_____________________ test_model_invalid[node_attrs-root] ______________________
model = PerPackageModel(base_path=PosixPath('node_attrs'), model=<pydantic.type_adapter.TypeAdapter object at 0x7fab1bf23950>,...'pnab', 'stats_arrays', 'alibabacloud-openapi-util', 'path.py', 'sparc-x', 'pyrosm', 'birka', 'gulp'}, must_exist=True)
invalid_feedstock = 'root'
def test_model_invalid(model: PerPackageModel, invalid_feedstock: str):
path = get_sharded_path(model.base_path / f"{invalid_feedstock}.json")
try:
with open(path) as f:
node_attrs = f.read()
except FileNotFoundError:
if model.must_exist:
raise
pytest.skip(f"{path} does not exist")
> with pytest.raises(ValidationError):
E Failed: DID NOT RAISE <class 'pydantic_core._pydantic_core.ValidationError'>
../cf-scripts/tests/model/test_validate.py:213: Failed
__________________ test_model_valid[pr_info-fluidfft-fftwmpi] __________________
model = PerPackageModel(base_path=PosixPath('pr_info'), model=<pydantic.type_adapter.TypeAdapter object at 0x7fab1c326b10>, bad_feedstocks={'python', 'font-ttf-noto-emoji'}, must_exist=True)
valid_feedstock = 'fluidfft-fftwmpi'
def test_model_valid(model: PerPackageModel, valid_feedstock: str):
path = get_sharded_path(model.base_path / f"{valid_feedstock}.json")
try:
with open(path) as f:
node_attrs = f.read()
except FileNotFoundError:
if model.must_exist:
raise
pytest.skip(f"{path} does not exist")
> model.model.validate_json(node_attrs)
../cf-scripts/tests/model/test_validate.py:200:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../../../miniconda3/envs/cf-scripts/lib/python3.11/site-packages/pydantic/type_adapter.py:142: in wrapped
return func(self, *args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pydantic.type_adapter.TypeAdapter object at 0x7fab1c326b10>
data = '{\n "bad": false,\n "pre_pr_migrator_attempts": {\n "numpy2": 135,\n "openmpi5": 152,\n "python312": 67\n },\n "pr...jinja template in /tmp/tmpla_vctmv/fluidfft-fftwmpi-feedstock/recipe/meta.yaml:\\n\'mpi\' is undefined\\n\\n\'"\n }\n}'
@_frame_depth(1)
def validate_json(
self, data: str | bytes, /, *, strict: bool | None = None, context: dict[str, Any] | None = None
) -> T:
"""Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing
Validate a JSON string or bytes against the model.
Args:
data: The JSON data to validate against the model.
strict: Whether to strictly check types.
context: Additional context to use during validation.
Returns:
The validated object.
"""
> return self.validator.validate_json(data, strict=strict, context=context)
E pydantic_core._pydantic_core.ValidationError: 1 validation error for PrInfoValid
E Value error, The keys (migration names) of pre_pr_migrator_status and pre_pr_migrator_attempts must match. [type=value_error, input_value={'bad': False, 'pre_pr_mi...\' is undefined\n\n\''}}, input_type=dict]
E For further information visit https://errors.pydantic.dev/2.8/v/value_error
../../../../miniconda3/envs/cf-scripts/lib/python3.11/site-packages/pydantic/type_adapter.py:391: ValidationError
_____________________ test_model_invalid[node_attrs-cubed] _____________________
model = PerPackageModel(base_path=PosixPath('node_attrs'), model=<pydantic.type_adapter.TypeAdapter object at 0x7fab1bf23950>,...'pnab', 'stats_arrays', 'alibabacloud-openapi-util', 'path.py', 'sparc-x', 'pyrosm', 'birka', 'gulp'}, must_exist=True)
invalid_feedstock = 'cubed'
def test_model_invalid(model: PerPackageModel, invalid_feedstock: str):
path = get_sharded_path(model.base_path / f"{invalid_feedstock}.json")
try:
with open(path) as f:
node_attrs = f.read()
except FileNotFoundError:
if model.must_exist:
raise
pytest.skip(f"{path} does not exist")
> with pytest.raises(ValidationError):
E Failed: DID NOT RAISE <class 'pydantic_core._pydantic_core.ValidationError'>
../cf-scripts/tests/model/test_validate.py:213: Failed
_____________________ test_model_invalid[node_attrs-pytao] _____________________
model = PerPackageModel(base_path=PosixPath('node_attrs'), model=<pydantic.type_adapter.TypeAdapter object at 0x7fab1bf23950>,...'pnab', 'stats_arrays', 'alibabacloud-openapi-util', 'path.py', 'sparc-x', 'pyrosm', 'birka', 'gulp'}, must_exist=True)
invalid_feedstock = 'pytao'
def test_model_invalid(model: PerPackageModel, invalid_feedstock: str):
path = get_sharded_path(model.base_path / f"{invalid_feedstock}.json")
try:
with open(path) as f:
node_attrs = f.read()
except FileNotFoundError:
if model.must_exist:
raise
pytest.skip(f"{path} does not exist")
> with pytest.raises(ValidationError):
E Failed: DID NOT RAISE <class 'pydantic_core._pydantic_core.ValidationError'>
../cf-scripts/tests/model/test_validate.py:213: Failed
_____________ test_model_invalid[node_attrs-textual-fastdatatable] _____________
model = PerPackageModel(base_path=PosixPath('node_attrs'), model=<pydantic.type_adapter.TypeAdapter object at 0x7fab1bf23950>,...'pnab', 'stats_arrays', 'alibabacloud-openapi-util', 'path.py', 'sparc-x', 'pyrosm', 'birka', 'gulp'}, must_exist=True)
invalid_feedstock = 'textual-fastdatatable'
def test_model_invalid(model: PerPackageModel, invalid_feedstock: str):
path = get_sharded_path(model.base_path / f"{invalid_feedstock}.json")
try:
with open(path) as f:
node_attrs = f.read()
except FileNotFoundError:
if model.must_exist:
raise
pytest.skip(f"{path} does not exist")
> with pytest.raises(ValidationError):
E Failed: DID NOT RAISE <class 'pydantic_core._pydantic_core.ValidationError'>
../cf-scripts/tests/model/test_validate.py:213: Failed
=============================== warnings summary ===============================
../cf-scripts/tests/model/test_validate.py:146
/home/runner/work/cf-graph-countyfair/cf-graph-countyfair/cf-scripts/tests/model/test_validate.py:146: UserWarning: Some feedstocks are mentioned as bad feedstock but do not exist: {'libtk'}
warnings.warn(
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 10 durations =============================
2.58s teardown cf-scripts/tests/model/test_validate.py::test_model_valid[node_attrs-gpustat]
1.88s call cf-scripts/tests/model/test_validate.py::test_model_valid[node_attrs-ctng-compiler-activation]
1.50s call cf-scripts/tests/model/test_validate.py::test_model_valid[node_attrs-r-iotools]
1.10s call cf-scripts/tests/model/test_validate.py::test_model_valid[node_attrs-aiida-cp2k]
0.76s call cf-scripts/tests/model/test_validate.py::test_model_valid[node_attrs-fx-gltf]
0.51s call cf-scripts/tests/model/test_validate.py::test_model_valid[node_attrs-gengetopt]
0.28s call cf-scripts/tests/model/test_validate.py::test_model_valid[node_attrs-ipysheet]
0.07s call cf-scripts/tests/model/test_validate.py::test_model_valid[pr_info-pari-seadata-small]
0.05s call cf-scripts/tests/model/test_validate.py::test_model_valid[pr_info-conda-forge-pinning]
0.05s call cf-scripts/tests/model/test_validate.py::test_model_valid[node_attrs-ctng-compilers]
=========================== short test summary info ============================
FAILED ../cf-scripts/tests/model/test_validate.py::test_model_valid[node_attrs-ucx-split] - pydantic_core._pydantic_core.ValidationError: 2 validation errors for union[function-after[check_version_match(), function-after[check_all_platform_infos_present(), NodeAttributesValid]],NodeAttributesError]
function-after[check_version_match(), function-after[check_all_platform_infos_present(), NodeAttributesValid]]
Value error, The top-level `version` field must match at least one of the `outputs[].version` fields in the `meta_yaml` field. [type=value_error, input_value={'archived': False, 'bran...r_info/ucx-split.json'}}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.8/v/value_error
NodeAttributesError.parsing_error
Input should be a valid string [type=string_type, input_value=False, input_type=bool]
For further information visit https://errors.pydantic.dev/2.8/v/string_type
FAILED ../cf-scripts/tests/model/test_validate.py::test_model_invalid[node_attrs-sqlalchemy-drill] - Failed: DID NOT RAISE <class 'pydantic_core._pydantic_core.ValidationError'>
FAILED ../cf-scripts/tests/model/test_validate.py::test_model_invalid[node_attrs-mamba] - Failed: DID NOT RAISE <class 'pydantic_core._pydantic_core.ValidationError'>
FAILED ../cf-scripts/tests/model/test_validate.py::test_model_invalid[node_attrs-r-v8] - Failed: DID NOT RAISE <class 'pydantic_core._pydantic_core.ValidationError'>
FAILED ../cf-scripts/tests/model/test_validate.py::test_model_invalid[node_attrs-root] - Failed: DID NOT RAISE <class 'pydantic_core._pydantic_core.ValidationError'>
FAILED ../cf-scripts/tests/model/test_validate.py::test_model_valid[pr_info-fluidfft-fftwmpi] - pydantic_core._pydantic_core.ValidationError: 1 validation error for PrInfoValid
Value error, The keys (migration names) of pre_pr_migrator_status and pre_pr_migrator_attempts must match. [type=value_error, input_value={'bad': False, 'pre_pr_mi...\' is undefined\n\n\''}}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.8/v/value_error
FAILED ../cf-scripts/tests/model/test_validate.py::test_model_invalid[node_attrs-cubed] - Failed: DID NOT RAISE <class 'pydantic_core._pydantic_core.ValidationError'>
FAILED ../cf-scripts/tests/model/test_validate.py::test_model_invalid[node_attrs-pytao] - Failed: DID NOT RAISE <class 'pydantic_core._pydantic_core.ValidationError'>
FAILED ../cf-scripts/tests/model/test_validate.py::test_model_invalid[node_attrs-textual-fastdatatable] - Failed: DID NOT RAISE <class 'pydantic_core._pydantic_core.ValidationError'>
===== 9 failed, 105259 passed, 586 skipped, 1 warning in 149.94s (0:02:29) ===== |
@beckermr could you please review? |
Thanks Matt! 🙏 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Recently the bot close the NumPy 2 migration for
hdbscan
: conda-forge/hdbscan-feedstock#64However as the work wasn't actually done to migrate the feedstock, the bot should have started a new migrator. Instead the bot marked it done
This clears out the NumPy 2 migration status for
hdbscan
so it can get a fresh migrator PR