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.
Fixes #2014
This PR changes how the experiments package initialises experiments. It allows them to be enabled by calling
experiments.Parse()
instead of relying on aninit()
function. This solves the issues raised in #2014, but also makes it easier to support loading experiments from other sources (such as config files).Fixes #2159
The code to load a
.taskrc.yml
config has been moved out of theexperiments
package to make it more generic (it may be used for other things in the future). A newtaskrc
package has been created for this purpose that aligns with the equivalenttaskfile
package for loading Taskfiles. They have a very similar structure, althoughtaskrc
doesn't need to be anything like as complicated as the concepts of includes, remote files, node types and caching are all irrelevant at this time.Some of the utilities used by both the
taskfile
andtaskrc
packages have been pulled out into a newfsext
package. The advantage of this is thattaskrc
now gets access to powerful functions that let us search dynamically for files recursively up the file tree.I have also (as usual) tried to tidy up a few bits of code as I went.