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

Properly manage timestamps of profile files #89

Merged
merged 14 commits into from
Apr 15, 2024
Merged

Properly manage timestamps of profile files #89

merged 14 commits into from
Apr 15, 2024

Conversation

MrHedmad
Copy link
Owner

@MrHedmad MrHedmad commented Apr 3, 2024

Before now, when switching profiles, all the timestamps of the moved files would be updated. This causes make to re-run for every profiled run even though the same run is repeatedly executed.

To avoid this, Kerblam! now makes a file with the name of the last-used profile in ~/.cache/kerblam/.... The filename is the hash of the project path, so that each project gets one cache file.

If kerblam detects that the same profile was used twice in a row, it skips updating the timestamps. If a normal run is executed, this cache is deleted and all the input files are re-touched (as if they were moved) to re-trigger the pipeline. This should prevent having to data clean every time a profile is switched.

This PR fixes issue #40.

TODO

Before merging, tick all of these boxes:

  • cargo test -- --include-ignored passes without errors or warnings.
  • Documentation is updated that reflect these changes.
    • This PR changes nothing that is reflected in docs.
  • @all-contributors is made aware of this PR.

MrHedmad added 2 commits April 3, 2024 15:50
Before now, when switching profiles, all the timestamps of the moved
files would be updated. This causes `make` to re-run for every profiled
run even though the same run is repeatedly executed.

To avoid this, Kerblam! now makes a file with the name of the last-used
profile in `~/.cache/kerblam/...`. The filename is the hash of the
project path, so that each project gets one cache file.
If kerblam detects that the same profile was used twice in a row, it
skips updating the timestamps.
If a normal run is executed, this cache is deleted and all the input
files are re-touched (as if they were moved) to re-trigger the pipeline.
This should prevent having to `data clean` every time a profile is
switched.
@MrHedmad MrHedmad added the feat New feature or request label Apr 3, 2024
@MrHedmad MrHedmad linked an issue Apr 3, 2024 that may be closed by this pull request
@MrHedmad MrHedmad merged commit 7e47e8d into main Apr 15, 2024
6 checks passed
@MrHedmad MrHedmad deleted the cache_profiles branch April 15, 2024 09:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Kerblam! profiles sometimes trigger make rebuilds needlessly
1 participant