warbo-utilities: a9a0ba3d76a75ec90ed669a2a23f08c35885bbd7
1: From: Chris Warburton
2: Date: Fri, 08 Jun 2018 13:21:36 +0100
3: State: new
4: Subject: Make trackGit ask whether to make ASV benchmarks
5: Message-Id: <cc3f744da13eaf79-0-artemis@nixos>
6:
7: Ask if we want some ASV benchmarks, if not already found. If so we
8: should make a benchmarks/ dir, a skeleton benchmarks/default.nix which
9: takes root and dir, imports pkgs.nix from dir, defines 'fixed' and
10: 'measured' as imports of 'dir' and 'root' with 'packageOnly = false',
11: and returns a wrapped default python binary (see below).
12:
13: We should ask whether we should use 'mkBin' from nix-config. There
14: should be three options:
15:
16: - No. Use makeWrapper in runCommand.
17: - Yes; we can get it from this project (assumes it's in pkgs.nix)
18: - Yes; we should fetch and import nix-config in the benchmarks.
19:
20: Each of these should have a separate template in ~/.templates:
21:
22: - The "no" template should use runCommand and makeWrapper, assuming
23: that they're in pkgs.nix. 'dir' should be set, with var name
24: 'measured'. An example of prefixing PATH should be given, but
25: commented-out.
26: - The "this project" template should use 'mkBin', assuming that our
27: import of pkgs.nix will do. An empty paths list should be included,
28: and vars should set 'measured' to 'dir'.
29: - The "fetch and import" template should define a nix-config variable
30: alongside pkgs, which we take mkBin from. Don't use 'with nix-config'
31: since that would override whatever we got from pkgs.nix. The import
32: of nix-config should use its defaults; if we cared about nixpkgs
33: versions we would be getting stuff from pkgs.nix anyway. The same
34: paths and vars as above should be used.
35:
36: We should also populate an asv.conf.json template with reasonable
37: defaults:
38:
39: - asv-nix plugin, environment, etc.
40: - Project name should be repo name (which trackGit should know)
41: - Repo can be chriswarbo.net/git/....git
42: - Builders and matrix should be included for 'dir'
43: - Installer should import benchmarks/ dir
44:
45: We should ask whether to define a default benchmark which tracks open
46: issues, defaulting to yes. If yes, this should include a template Python
47: file in benchmarks/ which looks up 'measured' from the environment and
48: (if it exists), loops through the contents checking whether each one is
49: closed (e.g. via a simple search for some header string; whatever
50: artemis uses).
Generated by git2html.