Open xylar opened 10 months ago
Hmm, I'm not able to reproduce the problem with a local grayskull
so maybe it's an issue with conda's bot.
Reopening because @beckermr thinks this is a grayskull bug, see: https://github.com/regro/cf-scripts/issues/1980#issuecomment-1875613408
I also got it in this case: https://github.com/conda-forge/aws-lambda-powertools-feedstock/pull/99
Thanks @BastianZim. Have you been able to reproduce it locally with some version of grayskull
? That would be a lot more helpful in tracking down and fixing the issue.
No, using it locally works for me as well. For the bot, I think it is not using the CLI but a python module instead, so maybe something is converted incorrectly. The logs locally show "optional" as well but it is not in the meta.yaml:
Build requirements:
<none>
Host requirements:
- python <4.0
- poetry-core >=1.3.2
- pip
Run requirements:
- python >=3.7.4,<4.0.0
- typing-extensions >=4.6.2,<5.0.0
All requirements (optional):
- aws-xray-sdk >=2.8.0,<3.0.0
- python-fastjsonschema >=2.14.5,<3.0.0
- pydantic >=1.8.2,<2.0.0
Aws-sdk requirements (optional):
- boto3 >=1.20.32,<2.0.0
Datadog requirements (optional):
- datadog-lambda >=4.77,<6.0
Datamasking-aws-sdk requirements (optional):
- aws-encryption-sdk >=3.1.1,<4.0.0
Parser requirements (optional):
- pydantic >=1.8.2,<2.0.0
Tracer requirements (optional):
- aws-xray-sdk >=2.8.0,<3.0.0
Validation requirements (optional):
- python-fastjsonschema >=2.14.5,<3.0.0
RED: Missing packages
GREEN: Packages available on conda-forge
Thanks @BastianZim. That's helpful. I hadn't had time to look into the details yet.
Just cannot remember anymore where that code lives... 😅
In the bot or grayskull? In the bot it is here https://github.com/regro/cf-scripts/blob/master/conda_forge_tick/update_deps.py#L333. You'll have to extract a test case by hand since the current code paths use bot data structures.
This function might be easier: https://github.com/regro/cf-scripts/blob/master/conda_forge_tick/update_deps.py#L282
Ahh was looking in smithy – thank you!
In the bot or grayskull?
Yes, I just wanted to see if there is an obvious difference between CLI and bot.
Ok if I run recipe, _ = create_python_recipe(pkg_name="aws-lambda-powertools", version="2.31.0", download=False, is_strict_cf=True)
and save that, I am getting
requirements:
host:
- python <4.0
- poetry-core >=1.3.2
- pip
run:
- python >=3.7.4,<4.0.0
- typing-extensions >=4.6.2,<5.0.0
run_constrained:
- aws-xray-sdk >=2.8.0,<3.0.0
- python-fastjsonschema >=2.14.5,<3.0.0
- pydantic >=1.8.2,<2.0.0
- boto3 >=1.20.32,<2.0.0
- datadog-lambda >=4.77,<6.0
I'm not sure if it is 100% Grayskull related, it might be the matching later. But first I would need to investigate if the Python version can have the same argument as the CLI with --extras-require-all
.
A recent change in grayskull seems to now be producing lines like:
For optional entries in a pyproject.toml, e.g.: https://github.com/earthobservations/wetterdienst/blob/v0.70.0/pyproject.toml#L136
See: https://github.com/conda-forge/wetterdienst-feedstock/pull/115/commits/a22fa2b0a36be509fe061a2016e6da67d95130b7