pixi
pixi copied to clipboard
old pixi cannot parse parse project manifests from new version
Problem description
× failed to parse pixi.toml from /path/to/prj ╰─▶ failed to parse project manifest
Since the pixi is installed by each developer of a prj, and the pixi is now released about weekly, multiple versions of pixi would be a problem to reproducibility. Some new features could help this kind of project with many developers:
-
min-version
underproject
table orpixi
undersystem-requirements
table indicates the pixi version requirement. (also require the backward compatibility). when an old pixi builds a project, it can auto self-update to the minimal required version. - all in project source, an wrapper entrypoint injected into project (like gradle/maven wraper), find or install on the fly the required version.
Can you share which parts of an old pixi.toml don't parse anymore by chance? This should not have happened, and we could correct it in a next release.
Ah sorry, you mean an old version of pixi cannot parse a new version's pixi.toml. Yeah that is indeed tricky. We should start with versioning the toml indeed.
We could also hint at running pixi self-update
How about, in case or parsing error, checking manifest against most recent schema (hosted somewhere), and offering self-update if it passes? For instance with this https://github.com/tamasfe/taplo ?
We could also hint at running
pixi self-update
OK, this should work. Whereas some cons to consider: a) this means backward compatibility after stable releases, and cannot introduce breaking change on the schema of pixi.toml
; b) self-update may conflicts with the pkg manager (e.g. brew); c) A more complicated case, if two projects are build at the same time, the self-update may also fail.
In case it can be relevant, I will mention that there was a small discussion on the opposite question ("new pixi & old manifest files"): https://github.com/prefix-dev/pixi/issues/1066