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

Automate a periodic check of FawltyDeps on popular Python projects/packages #442

Open
jherland opened this issue Jul 9, 2024 · 0 comments
Labels

Comments

@jherland
Copy link
Member

jherland commented Jul 9, 2024

For an ongoing Tweag blog post, we (Maria and Zhihan in particular) have done a significant amount of work to run FawltyDeps across a large collection of third-party projects. It would be smart to leverage this work in an automated periodic action to verify that FawltyDeps keeps working on a large and relevant collection of third-party projects.

Reusing the PyPI experiment code that was written for the blog post is a priority here.

What do we mean by "keeps working"?

Obviously we cannot guarantee that third-party projects won't introduce undeclared/unused deps in future releases, so we're not looking for exit code 0 when running FawltyDeps on these projects. But we do want to verify that FawltyDeps at least does not crash.

Which project? What do we mean by "a large and relevant collection"?

A good first approximation would be the top 100 PyPI packages, e.g. as reported by https://hugovk.github.io/top-pypi-packages/, and also make sure to test the latest version of these.

How often?

https://hugovk.github.io/top-pypi-packages/ updates monthly, and that seems like a

Which mechanism?

GitHub Action seems like the obvious choice here, but we need to research if it can be scheduled not on a per-commit basis, but rather on a time basis: E.g. At the start of each month, use the latest version of our master branch to run this experiment.

Extra bonus points if (parts of) this can be written as a Nox action, which makes it easy to reproduce failures locally.

Security must also be considered here: We're downloading an untrusted third-party projects. Might be best to run the analysis in a sandbox or similar.

Other questions:

  • How long does it take to run this action?
@jherland jherland added type: feature request P3 minor: not priorized CI labels Jul 9, 2024
@mknorps mknorps added this to the FawltyDeps 1.0 milestone Jul 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants