pdm.lock
files produced by Renovate are specific to the CPU architecture on which RenovateBot runs
#30940
-
What would you like help with?I think I found a bug How are you running Renovate?Self-hosted If you're self-hosting Renovate, tell us which platform (GitHub, GitLab, etc) and which version of Renovate.GitLab, Renovate 38.21.1 Please tell us more about your question or problemWe're running Renovate for a Python project using the PDM package manager on machines with aarch64 CPUs, but our application itself is meant to run on amd64 CPUs. Unfortunately, it seems like the ...
[[metadata.targets]]
requires_python = "==3.11.9"
platform = "manylinux_2_31_aarch64"
implementation = "cpython"
gil_disabled = false This then causes issues in subsequent CI pipelines, e.g. those of Renovate's own Lock file maintenance MRs, which, like our application itself, run on amd64 CPUs. Specifically,
As far as I can tell, PDM comes with functionality to specify a target platform (including architecture) when generating the lockfile. Does Renovate expose a configuration option or something like that which would allow us to use this functionality to override the mismatching host architecture? And if not, would it be possible to implement this in Renovate's PDM support? Thanks in advance! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Renovate does not have this functionality. Sounds like it could "learn" it from the existing lock file without needing the user to manually configure though. Can you create a reproduction repo and a "suggest an idea" discussion? Perhaps having your reproduction as aarch64 would be best, then we can test it with amd64 in dev. |
Beta Was this translation helpful? Give feedback.
All right, riddle solved. This issue has nothing to do with Renovate whatsoever, so Renovate devs can stop reading here.
For anyone else who encounters this and finds this thread via a search engine, here is the full story:
PDM only writes platform-specific
[[metadata.targets]]
sections when both of these conditions are met:[[metadata.targets]]
section yet (i.e. the lock file must have been created with a version of PDM < 2.17) andstrategy
field of the[metadata]
section ofpdm.lock
doesn't contain"cross-platform"
.If
strategy
contains"cross-platform"
, newer versions of PDM will add a platform-agnostic[[metadata.targets]]
section and remove"cross-platform"
fromst…