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

Use a conda lock file to improve CI reliability #111

Open
arthurp opened this issue Mar 10, 2021 · 1 comment
Open

Use a conda lock file to improve CI reliability #111

arthurp opened this issue Mar 10, 2021 · 1 comment
Labels
good first issue Good for newcomers

Comments

@arthurp
Copy link
Contributor

arthurp commented Mar 10, 2021

Conda does not natively support lock files, but they are easy to implement as a separate tool: https://github.com/conda-incubator/conda-lock. Using lock files will have two main benefits:

  • By locking the versions we avoid upstream releases causing CI failures.
  • Conda dependency resolution will be faster since many packages are pinned to an exact version. (Conda dependency resolution uses a SAT solver, so it can be very slow.)

The lock file is easy to use for development builds (locally or in CI), however there is no support for using the lock file to build conda packages. This is reasonable because doing so would limit the compatibility of the resulting conda packages since it was not built with the most recent versions of other packages.

Semi-automatic updates to the lock file would be relatively easy. (A script could update the lock file and create PR for human review.)

@arthurp
Copy link
Contributor Author

arthurp commented Apr 26, 2021

Conda dependency resolution will be faster since many packages are pinned to an exact version. (Conda dependency resolution uses a SAT solver, so it can be very slow.)

This is less critical now because CI uses mamba. But a lock file would further help I think.

Semi-automatic updates to the lock file would be relatively easy. (A script could update the lock file and create PR for human review.)

This could reuse the scripts/version code that creates PRs for new version numbers.

@arthurp arthurp added the good first issue Good for newcomers label Apr 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

1 participant