Quansight-Labs / czi-conda-forge-mgmt

πŸš€ Top level project management for conda-forge CZI grant
https://github.com/orgs/Quansight-Labs/projects/10
BSD 3-Clause "New" or "Revised" License
5 stars 0 forks source link

Enhancements to feedstocks' verification and validation workflows #8

Open jaimergp opened 1 year ago

jaimergp commented 1 year ago

Primarily focused on performance and reliability.

πŸ“Œ Summary

Improve the artifact verification and validation workflows as they are moved from cf-staging to conda-forge.

πŸ“ Background

conda-forge feedstocks are repositories equipped with the build machinery provided by conda-smithy.

When a PR is merged to a feedstock branch, the resulting conda packages are not uploaded directly to conda-forge. They are first placed in a staging channel named cf-staging. The artifact validation bot hosted in a Heroku instance downloads the artifacts, runs some analysis and if successful, then they are copied to the actual conda-forge channel.

The analysis includes checks like:

Depending on the size of the package, this causes some strains on the already overworked Heroku dyno.

πŸš€ Tasks / Deliverables

πŸ“… Estimated completion

This task should be finished in the first 18 months.

ℹ️ References

jaimergp commented 7 months ago

Update: conda-forge/artifact-validation is now archived. Need to update how validation is set up now.

Update 2: Artifact validation is currently disabled. Need to gather more context on why and whether having it back is a realistic assumption.

jaimergp commented 7 months ago

File clobbering: is the package producing files that belong to another package? This is reported as an issue

This probably will need #54 to provide easy file-ownership checks. Note that some packages do need to clobber others (e.g. different variants of the same interface like BLAS stuff), but usually there's metadata we can use to infer that kind of thing (run_constrained, common mutex, etc).

jaimergp commented 3 months ago

With the sqlite dumps in https://github.com/Quansight-Labs/conda-forge-paths we could now think of a setup where the validation action downloads the dump and queries it locally to see if there's clobbering or not, and warn if needed.