Skip to content
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

old pixi cannot parse parse project manifests from new version #1346

Open
gzm55 opened this issue May 7, 2024 · 5 comments
Open

old pixi cannot parse parse project manifests from new version #1346

gzm55 opened this issue May 7, 2024 · 5 comments
Labels
enhancement New feature or request

Comments

@gzm55
Copy link

gzm55 commented May 7, 2024

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:

  1. min-version under project table or pixi under system-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.
  2. all in project source, an wrapper entrypoint injected into project (like gradle/maven wraper), find or install on the fly the required version.
@gzm55 gzm55 added the enhancement New feature or request label May 7, 2024
@wolfv
Copy link
Member

wolfv commented May 7, 2024

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.

@wolfv
Copy link
Member

wolfv commented May 7, 2024

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.

@wolfv
Copy link
Member

wolfv commented May 7, 2024

We could also hint at running pixi self-update

@olivier-lacroix
Copy link
Contributor

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 ?

@gzm55
Copy link
Author

gzm55 commented May 7, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants