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

Github Actions Cache should be invalidated when Python binary changes #87

Open
ddriddle opened this issue Jun 15, 2021 · 2 comments
Open
Labels
bug Something isn't working

Comments

@ddriddle
Copy link
Collaborator

Tox will rebuild the wheel virtual environment when the Python binary sha256sum changes (See #75). The Tox documentation states that a virtual environment will automatically be rebuilt on the following conditions:

Here’s what traits we track at the moment for each steps:

  • virtual environment trait is tied to the python path the basepython resolves too (if this config changes, the virtual environment will be recreated),
  • deps sections changes (meaning any string-level change for the entries, note requirement file content changes are not tracked),
  • library dependencies are tracked at extras level (because there’s no Python API to enquire about the actual dependencies in a non-tool specific way, e.g. setuptools has one way, flit something else, and poetry another).
    https://tox.readthedocs.io/en/latest/example/general.html#dependency-changes-and-tracking

We need to ensure that the cache is invalided on each of these conditions.

@ddriddle ddriddle added the bug Something isn't working label Jun 15, 2021
@edthedev
Copy link
Contributor

edthedev commented Jul 7, 2021

Closing this as it was addressed in #75.

@edthedev edthedev closed this as completed Jul 7, 2021
@edthedev edthedev added this to the Maintainability Improvements milestone Jul 7, 2021
@ddriddle
Copy link
Collaborator Author

ddriddle commented Jul 7, 2021

@edthedev #75 does not address this issue. This still needs to be addressed, either by embedding the sha of the python binary in the cache key, or by an update to the cache validation module. I'm not sure which is more feasible without giving it more thought. Honestly, caching tox has enough complexities I should do a presentation on it or write a blog post.

@ddriddle ddriddle reopened this Jul 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants