Skip to content

fix(scripts): pin pixi to v0.73.0 in provisioning and docs (NEH-170) - #290

Merged
juancobo merged 1 commit into
devfrom
scripts/neh-170-pin-pixi
Aug 4, 2026
Merged

fix(scripts): pin pixi to v0.73.0 in provisioning and docs (NEH-170)#290
juancobo merged 1 commit into
devfrom
scripts/neh-170-pin-pixi

Conversation

@juancobo

@juancobo juancobo commented Aug 4, 2026

Copy link
Copy Markdown
Member

Pins the pixi installer so provisioning is reproducible and always matches the committed lock format.

Why

pixi.lock is lock-file format v7 (re-locked with pixi 0.73 on 2026-07-24, documented in backend/DEVELOPMENT.md). The install command in the docs was unpinned curl | bash, so every unit got whatever pixi was latest on its provisioning day — and units provisioned before 0.68 can't read v7 at all. This is precisely what broke the first Rionegro update attempt on 2026-08-03: pixi 0.63.2 against the v7 lock (Lock-file version 7 is newer than supported).

v0.73.0 is the version the bench unit and Rionegro both run today, field-validated against the committed lock.

Changes

  • scripts/setup.sh defines PIXI_VERSION="v0.73.0", installs it itself when pixi is missing (previously it just aborted with an unpinned command to copy-paste), and warns with the exact pixi self-update --version command when a mismatched version is already present. A format mismatch still fails cleanly later at pixi install --locked.
  • One subtlety worth review attention: the env var must be on bash's side of the pipecurl … | PIXI_VERSION=v0.73.0 bash. The installer reads VERSION="${PIXI_VERSION:-latest}"; writing PIXI_VERSION=… curl … | bash sets the variable for curl only and silently installs latest.
  • README.md and README-SETUP.md (Spanish) document the pinned form.

Bumping the pin is now an explicit, reviewed change, to be done together with any lock-format change (the lockstep rule in backend/DEVELOPMENT.md already points here via NEH-170).

Linear: NEH-170 (GitHub mirror #221).

The committed pixi.lock is lock-file format v7 (re-locked with pixi 0.73);
an unpinned `curl | bash` install gives every unit whatever pixi is latest
that day, and an older one cannot read the lock at all — this is exactly
what broke the first Rionegro update attempt on 2026-08-03 (pixi 0.63.2
against the v7 lock).

setup.sh now installs the pinned version itself when pixi is missing, and
warns with the exact self-update command when a different version is
present. The PIXI_VERSION variable sits on bash's side of the pipe — the
installer reads it; prefixing curl would silently install latest.

README.md and README-SETUP.md document the pinned form.
Copilot AI review requested due to automatic review settings August 4, 2026 01:13
@linear-code

linear-code Bot commented Aug 4, 2026

Copy link
Copy Markdown

NEH-170

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Pins pixi v0.73.0 across provisioning and setup documentation to ensure compatibility with the committed v7 lock file.

Changes:

  • Automatically installs the pinned pixi version when missing.
  • Warns when the installed version differs.
  • Updates English and Spanish setup instructions.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
scripts/setup.sh Adds pinned installation and version-mismatch guidance.
README.md Documents the pinned installation command.
README-SETUP.md Updates Spanish setup instructions with the pin.

@juancobo
juancobo merged commit b447d57 into dev Aug 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants