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

Add a Task 'implementation version', to allow Task implementers to invalidate artifacts #2531

Closed
stuhood opened this issue Nov 10, 2015 · 7 comments
Assignees

Comments

@stuhood
Copy link
Sponsor Member

stuhood commented Nov 10, 2015

The implementation version would be a (string) property of a Task that a Task implementer could use to invalidate all artifacts for the Task.

Additionally, in the case of Task.incremental==True, the implementation version should be used to skip incrementalism. The easiest way to do this would likely be to include the current implementation version in the results_dir path, and to not persist it in the build invalidator.

@digwanderlust
Copy link
Member

I should be able to add an impl-version attribute to task objects and add the task and all its parents impl-version to the fingerprint. I will also need to update the invalidation logic so that it keeps track of a task version. This will enable us to draw not pull in previous incremental work done from a different version.

@digwanderlust
Copy link
Member

@digwanderlust
Copy link
Member

merged

@stuhood
Copy link
Sponsor Member Author

stuhood commented Jan 15, 2016

Thanks Matt!

@digwanderlust
Copy link
Member

After speaking with @patricklaw there is some preference to using explicit calls to super in individual task classes. I will update the code and resubmit an implementation that doesn't use descriptors and explicit calls to mro.

@digwanderlust
Copy link
Member

@digwanderlust
Copy link
Member

resolved with https://rbcommons.com/s/twitter/r/3381/

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

No branches or pull requests

2 participants