Skip to content

Optional support for running tests with Pixi - #1195

Merged
prjemian merged 1 commit into
BCDA-APS:mainfrom
spc-group:pixi
Oct 26, 2026
Merged

prjemian merged 1 commit into
BCDA-APS:mainfrom
spc-group:pixi

Conversation

@canismarko

Copy link
Copy Markdown
Collaborator

While working on #1188, I wound up adding support for running the tests with Pixi. I figured I'd submit those changes too, since it would make it easier for me (and maybe others) to run the tests in the future.

Pixi has two ways you add support: pyproject.toml, or a separate pixi.toml file. I went with the pyproject.toml route since it lets pixi re-use the dependency groups inside pyproject.toml.

This PR shouldn't affect the ability to install apstools with mamba, conda, pip, etc.

This PR does not change anything about how github workflows are run. I'd be willing to switch the github code.yml to use pixi in the future if we find that there's enough benefit in having a lockfile.

This PR does not use Pixi for managing any external dependencies for the tests, like the GP and ADSIM IOC's.

@canismarko

Copy link
Copy Markdown
Collaborator Author

The killer feature here is the lockfile. pixi.lock specifies exactly which version of each package is installed in each environment, and so anyone running the tests with Pixi will get exactly the same versions. If packages are upgrade, the environments are re-solved, the lock file is updated, and the new pixi.lock gets committed alongside the update pyproject.toml.

@prjemian prjemian left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@prjemian
prjemian merged commit 99324ee into BCDA-APS:main Oct 26, 2026
24 of 30 checks 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