You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I suddenly started encountering an error in CI trying to generate spdx-json with syft, despite not making any changes to that part of the CI pipeline. After digging, I found that the syft version wasn't pinned in CI, and I was able to reproduce the exact error locally in version 1.6.0, which did not occur in 1.1.0 (that was my version jump locally, but I think CI was smaller).
EDIT: I was able to confirm that this error does not happen in 1.5.0.
Regardless - the crux of the issue is that I now get an error with 1.6.0, when previous versions do not produce it:
syft ./poetry.lock -o spdx-json
[0000] WARN cataloger failed cataloger=python-package-cataloger error=unable to parse poetry.lock: (0, 0): Can't convert [version = ">=5.0.0"
extras = ["compatible-mypy"]
markers = "extra == \"compatible-mypy\""
optional = true
version = "*"
]([]*toml.Tree) to trees location=/poetry.lock
Even though this prints as a warning, and the exit code is 0, the output is essentially empty (only contains the top-level info about syft itself, with none of the dependencies included).
I think I can share some (limited) insight that might help (see below), in steps to reproduce
What you expected to happen:
To get the normal JSON output, with dependency information included.
Steps to reproduce the issue:
I am triggering this by including a specific package - djangorestframework-stubs, and the block of code in the lock file that seems to be throwing that error looks like this:
However, I feel like it is worth noting that this is the only dependency in my project that is using / generating Poetry's multiple constraints syntax; is there something specific about that syntax that might be breaking the parser? I'm not super familiar with Poetry's spec, nor syft's parser, or else I would try to do more digging myself.
Anything else we need to know?:
Environment:
Output of syft version: syft 1.6.0
OS (e.g: cat /etc/os-release or similar): Darwin
The text was updated successfully, but these errors were encountered:
What happened:
I suddenly started encountering an error in CI trying to generate spdx-json with
syft
, despite not making any changes to that part of the CI pipeline. After digging, I found that thesyft
version wasn't pinned in CI, and I was able to reproduce the exact error locally in version1.6.0
, which did not occur in1.1.0
(that was my version jump locally, but I think CI was smaller).Regardless - the crux of the issue is that I now get an error with
1.6.0
, when previous versions do not produce it:Even though this prints as a warning, and the exit code is
0
, the output is essentially empty (only contains the top-level info about syft itself, with none of the dependencies included).I think I can share some (limited) insight that might help (see below), in steps to reproduce
What you expected to happen:
To get the normal JSON output, with dependency information included.
Steps to reproduce the issue:
I am triggering this by including a specific package - djangorestframework-stubs, and the block of code in the lock file that seems to be throwing that error looks like this:
However, I feel like it is worth noting that this is the only dependency in my project that is using / generating Poetry's multiple constraints syntax; is there something specific about that syntax that might be breaking the parser? I'm not super familiar with Poetry's spec, nor syft's parser, or else I would try to do more digging myself.
Anything else we need to know?:
Environment:
syft version
:syft 1.6.0
cat /etc/os-release
or similar): DarwinThe text was updated successfully, but these errors were encountered: