add MAGEFILE_HASHFAST to avoid rerunning go build #258
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a feature that is mostly aimed at developers running on Windows. For some reason, the
go build
code that determines whether it needs to rebuild is slow on windows. For people running mage, that means that even if no code has changed, it can take a full second or longer for mage to figure out it can just reuse the binary it already built.To solve that problem, this PR adds an environment variable you can set to tell mage to just use the hash of the magefiles themselves, and not run
go build
. This is the way mage used to work before moving to rely on go build's cache.The one drawback of this method is that if a dependency of the magefile has changed (like your magefile imports a library that gets updated), mage won't detect the change and will just rerun the binary it has cached. You can force the rebuild by using the already-existing -f flag.