Commits on Source 12
-
As someone coming from GitHub to GitLab, I was pleasantly surprised by the 'filter by WIP status' option. To make sure we get the most out of it, add a guideline to keep the filter clean, to reduce reviewer burden.
-
I was recently surprised that we don't prefer addressing review comments in 'fixup!' commits. Coming from GitHub, I've found that fixup commits make it easier for reviewers to see what has changed since their last review. The idea is to use '--autosquash' before landing to clean up the history again. It's a pleasant surprise that it's easy to keep track of what changed in merge-requests between pushes, so we can always keep the history clean. Document this, so folks like me can see the light sooner.
-
Explain why it's useful to mention the decisions made for a change and provide links for background, e.g. issue numbers. My general experience of git histories is that folks don't do enough explaining, so it's great we have a contributing section for it. I've found it's easier for folks to stick to rules when they know the practical reasons for them, so provide some.
-
Angelos Evripiotis authored
Add more to GitLab-relevant parts of contributing See merge request !935
-
This patch partially resolves #700
-
Due to the changed Exception message, this patch also changes the test_parse_size_over_1024T test in misc.py
-
Javier Jardón authored
Add local cache expiry documentation and fix misleading error message when specifying a percentage cache quota Closes #700 See merge request !939
-
Daniel Silverstone authored
We were indiscriminately retrieving the node's provenance data in the `node_get()` function which was accounting for approximately a third of the total runtime of `node_get()` which dominates pre-scheduler time in `bst build`. This change ameliorates that situation by only retrieving the provenance data when it's actually needed. Signed-off-by:
Daniel Silverstone <daniel.silverstone@codethink.co.uk>
-
Daniel Silverstone authored
We know that nodes are typically one of: str, list, dict, bool, tuple, NoneType or our ChainMap Of these, dict and ChainMap are Mapping, only list is list and the rest are returned unchanged. We can reduce/defer our use of isinstance here, dramatically, improving performance. Signed-off-by:
Daniel Silverstone <daniel.silverstone@codethink.co.uk>
-
Daniel Silverstone authored
In order to support a case where the caller already has pre-sanitized input this variant of the cache key generator needs to exist. Signed-off-by:
Daniel Silverstone <daniel.silverstone@codethink.co.uk>
-
Daniel Silverstone authored
In order to reduce the effort we spend in `_yaml.node_sanitize()` take advantage of how `OrderedDict` works and pre-sanitize the majority of the cache-key once. This approximately halves the amount of effort we spend in `_yaml.node_sanitize()` in pre-scheduler build scenarios. Signed-off-by:
Daniel Silverstone <daniel.silverstone@codethink.co.uk>
-
Daniel Silverstone authored
A non-trivial proportion of time pre-scheduler in `bst build` is spent copying (or chain-copying) nodes. Approximately a quarter of the time spent in that effort is in `isinstance()`. This removes that CPU load. Signed-off-by:
Daniel Silverstone <daniel.silverstone@codethink.co.uk>