repository
deploy.sh
/log2csv
-/settings.yaml
+/gipeda.yaml
site/js/bootstrap/
site/js/flot/
site/js/handlebars-v2.0.0.js
cabal install --bindir=.
- * Create a `settings.yaml`. You can look at the example file.
+ * Create a `gipeda.yaml`. You can look at the example file.
* Clone the repository of your project into `repository/`. A bare clone is
sufficient, e.g.
--- /dev/null
+title: Binary
+revisionInfo: '<a href="https://github.com/kolmodin/binary/commit/{{rev}}">GitHub</a>'
+diffLink: "https://github.com/kolmodin/binary/compare/{{base}}...{{rev}}"
+limitRecent: 20
+start: 4853c7b467409468ac9029558c8ed3caa4a4be6c
+
+benchmarks:
+ - match: "throughput/*"
+ smallerIsBetter: False
+ unit: MB/s
+ group: "Throughput measurements"
+
+ - match: "benchmark/*"
+ smallerIsBetter: True
+ unit: nano seconds
+ group: "Benchmarks"
+
+ - match: "build/warnings"
+ smallerIsBetter: True
+ unit: warnings
+ group: "Build"
+++ /dev/null
-title: Binary
-revisionInfo: '<a href="https://github.com/kolmodin/binary/commit/{{rev}}">GitHub</a>'
-diffLink: "https://github.com/kolmodin/binary/compare/{{base}}...{{rev}}"
-limitRecent: 20
-start: 4853c7b467409468ac9029558c8ed3caa4a4be6c
-
-benchmarks:
- - match: "throughput/*"
- smallerIsBetter: False
- unit: MB/s
- group: "Throughput measurements"
-
- - match: "benchmark/*"
- smallerIsBetter: True
- unit: nano seconds
- group: "Benchmarks"
-
- - match: "build/warnings"
- smallerIsBetter: True
- unit: warnings
- group: "Build"
--- /dev/null
+title: Gipeda itself
+diffLink: "https://git.nomeata.org/?p=gipeda.git;a=commitdiff;h={{rev}};hp={{base}}"
+revisionInfo: '<a href="https://github.com/nomeata/gipeda/commit/{{rev}}">View Diff</a>'
+limitRecent: 20
+start: 65b3eede043ff5d4718724d220a82bbc8adc3280
+interestingTags: "*"
+
+benchmarks:
+ - match: "*"
+ smallerIsBetter: False
+ threshold: 1
+ type: integral
+ group: (ungrouped)
+ - match: "loc/*"
+ unit: lines of code
+ group: Lines of Code
+ - match: comment-rate
+ unit: percentags
+ group: Code quality
+++ /dev/null
-title: Gipeda itself
-diffLink: "https://git.nomeata.org/?p=gipeda.git;a=commitdiff;h={{rev}};hp={{base}}"
-revisionInfo: '<a href="https://github.com/nomeata/gipeda/commit/{{rev}}">View Diff</a>'
-limitRecent: 20
-start: 65b3eede043ff5d4718724d220a82bbc8adc3280
-interestingTags: "*"
-
-benchmarks:
- - match: "*"
- smallerIsBetter: False
- threshold: 1
- type: integral
- group: (ungrouped)
- - match: "loc/*"
- unit: lines of code
- group: Lines of Code
- - match: comment-rate
- unit: percentags
- group: Code quality
--- /dev/null
+title: GHC Speed
+revisionInfo: '<a href="https://git.haskell.org/ghc.git/commitdiff/{{rev}}">View Diff</a> – <a href="https://phabricator.haskell.org/rGHC{{rev}}">Phab</a> – <a href="http://raw.githubusercontent.com/nomeata/ghc-speed-logs/master/{{rev}}.log">View buildlog</a>'
+diffLink: "https://git.haskell.org/ghc.git/commitdiff/{{rev}}?hp={{base}}"
+limitRecent: 50
+start: 55e7ab1210975e6276f3cab3ac0e1f35bcd772f0
+interestingTags: "*-release"
+interestingBranches: "*"
+
+benchmarks:
+ - match: "*"
+ smallerIsBetter: True
+ threshold: 3
+ type: integral
+ group: (ungrouped)
+ - match: "testsuite/*"
+ unit: tests
+ type: small integral
+ group: Testsuite
+ important: False
+
+ - match: testsuite/tests
+ smallerIsBetter: False
+ type: integral
+ - match: testsuite/expected passes
+ smallerIsBetter: False
+ type: integral
+
+ - match: "parser/*"
+ unit: conflicts
+ type: small integral
+ group: Parser
+
+ - match: "nofib/size/*"
+ unit: bytes
+ group: Nofib sizes
+
+ - match: "nofib/allocs/*"
+ unit: bytes
+ group: Nofib allocations
+
+ - match: "nofib/time/*"
+ unit: seconds
+ group: Nofib runtimes
+ type: float
+
+ - match: "buildtime/*"
+ unit: seconds
+ group: Buildtimes
+ type: float
+
+ - match: "nofib/time/circsim"
+ threshold: 5
+
+ - match: "tests/alloc/*"
+ unit: bytes
+ group: Testsuite allocations
+
+++ /dev/null
-title: GHC Speed
-revisionInfo: '<a href="https://git.haskell.org/ghc.git/commitdiff/{{rev}}">View Diff</a> – <a href="https://phabricator.haskell.org/rGHC{{rev}}">Phab</a> – <a href="http://raw.githubusercontent.com/nomeata/ghc-speed-logs/master/{{rev}}.log">View buildlog</a>'
-diffLink: "https://git.haskell.org/ghc.git/commitdiff/{{rev}}?hp={{base}}"
-limitRecent: 50
-start: 55e7ab1210975e6276f3cab3ac0e1f35bcd772f0
-interestingTags: "*-release"
-interestingBranches: "*"
-
-benchmarks:
- - match: "*"
- smallerIsBetter: True
- threshold: 3
- type: integral
- group: (ungrouped)
- - match: "testsuite/*"
- unit: tests
- type: small integral
- group: Testsuite
- important: False
-
- - match: testsuite/tests
- smallerIsBetter: False
- type: integral
- - match: testsuite/expected passes
- smallerIsBetter: False
- type: integral
-
- - match: "parser/*"
- unit: conflicts
- type: small integral
- group: Parser
-
- - match: "nofib/size/*"
- unit: bytes
- group: Nofib sizes
-
- - match: "nofib/allocs/*"
- unit: bytes
- group: Nofib allocations
-
- - match: "nofib/time/*"
- unit: seconds
- group: Nofib runtimes
- type: float
-
- - match: "buildtime/*"
- unit: seconds
- group: Buildtimes
- type: float
-
- - match: "nofib/time/circsim"
- threshold: 5
-
- - match: "tests/alloc/*"
- unit: bytes
- group: Testsuite allocations
-
benchNamesMain :: [S.BenchName] -> IO ()
benchNamesMain benchNames = do
- settings <- S.readSettings "settings.yaml"
+ settings <- S.readSettings "gipeda.yaml"
let groups =
map (uncurry BenchGroup) $
graphReportMain :: [String] -> IO ()
graphReportMain (bench:revs) = do
- settings <- S.readSettings "settings.yaml"
+ settings <- S.readSettings "gipeda.yaml"
g <- forM revs $ \rev -> do
json <- BS.readFile (reportOf rev)
jsonSettingsMain :: IO ()
jsonSettingsMain = do
- s <- either (error.show) id <$> decodeFileEither "settings.yaml"
+ s <- either (error.show) id <$> decodeFileEither "gipeda.yaml"
let o = object [ "settings" .= (s :: Object) ]
BS.putStr (Data.Aeson.encode o)
revReportMain :: [String] -> IO ()
revReportMain (this:parents) = do
- settings <- S.readSettings "settings.yaml"
+ settings <- S.readSettings "gipeda.yaml"
thisM <- readCSV this
parentM <- case parents of
gitRange :: Action [String]
gitRange = do
- s <- liftIO $ S.readSettings "settings.yaml"
+ s <- liftIO $ S.readSettings "gipeda.yaml"
let first = S.start s
heads <- readFileLines "site/out/heads.txt"
Stdout range <- git "log" $ ["--format=%H","^"++first] ++ heads
-}
getLimitRecent <- addOracle $ \(LimitRecent _) -> do
- need ["settings.yaml"]
- S.limitRecent <$> liftIO (S.readSettings "settings.yaml")
+ need ["gipeda.yaml"]
+ S.limitRecent <$> liftIO (S.readSettings "gipeda.yaml")
"reports" ~> do
hashes <- gitRange
"site/out/history.csv" *> \out -> do
heads <- readFileLines "site/out/heads.txt"
- s <- liftIO $ S.readSettings "settings.yaml"
+ s <- liftIO $ S.readSettings "gipeda.yaml"
let first = S.start s
Stdout stdout <- git "log" $
"site/out/tags.txt" *> \ out -> do
alwaysRerun
- need ["settings.yaml"]
- s <- liftIO $ S.readSettings "settings.yaml"
+ need ["gipeda.yaml"]
+ s <- liftIO $ S.readSettings "gipeda.yaml"
case S.interestingTags s of
Nothing ->
writeFileChanged out ""
"site/out/branches.txt" *> \ out -> do
alwaysRerun
- need ["settings.yaml"]
- s <- liftIO $ S.readSettings "settings.yaml"
+ need ["gipeda.yaml"]
+ s <- liftIO $ S.readSettings "gipeda.yaml"
case S.interestingBranches s of
Nothing ->
writeFileChanged out ""
need [resultsOf latest]
b <- liftIO $ benchmarksInCSVFile (resultsOf latest)
- need ["settings.yaml"]
+ need ["gipeda.yaml"]
Stdout json <- self "BenchNames" (nub b)
writeFile' out json
want ["site/out/all-summaries.json"]
"site/out/settings.json" *> \out -> do
- need ["settings.yaml"]
+ need ["gipeda.yaml"]
Stdout json <- self "JsonSettings" []
writeFile' out json
args <- getArgs
- ex <- doesFileExist "settings.yaml"
+ ex <- doesFileExist "gipeda.yaml"
unless ex $ do
- hPutStr stderr "Please run this from the same directory as the settings.yaml file.\n"
+ hPutStr stderr "Please run this from the same directory as the gipeda.yaml file.\n"
case args of