From f7377c15844c5ff42d59d97b5afb4744df3655ab Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Mon, 6 Nov 2017 12:38:23 -0500 Subject: [PATCH] Add a sample-command workflow --- doc/sample.dot | 18 ++++++ doc/sample.svg | 157 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 175 insertions(+) create mode 100644 doc/sample.dot create mode 100644 doc/sample.svg diff --git a/doc/sample.dot b/doc/sample.dot new file mode 100644 index 0000000..1282556 --- /dev/null +++ b/doc/sample.dot @@ -0,0 +1,18 @@ +digraph ClassDiagram { + "PR approved to build,\n`@grahamcofborg sample 10`" -> "does the PR change stdenv?"; + "does the PR change stdenv?" -> "refuse, won't do\nmass rebuilds" [label="yes"]; + "does the PR change stdenv?" -> "stdenv already built?" [label="no"]; + "stdenv already built?" -> "Comment:\n(stdenv not available, will retry later.)" [label="no"]; + "Comment:\n(stdenv not available, will retry later.)" -> + "put the build job back to the delayed build queue"; + "put the build job back to the delayed build queue" -> + "5 min later..."; + "5 min later..." -> "stdenv built yet?"; + "stdenv built yet?" -> "put the build job back to the delayed build queue"[label="no"]; + "stdenv built yet?" -> "proceed with build"[label="yes"]; + "stdenv already built?" -> "proceed with build" [label="yes"]; + "proceed with build" -> "diff prev commit's drvs with current commit's drvs"; + "diff prev commit's drvs with current commit's drvs" -> "select 10 drvs"; + "select 10 drvs" -> "build them"; + "build them" -> "comment on github issue with a build report"; +} \ No newline at end of file diff --git a/doc/sample.svg b/doc/sample.svg new file mode 100644 index 0000000..3d61aea --- /dev/null +++ b/doc/sample.svg @@ -0,0 +1,157 @@ + + + + + + +ClassDiagram + + +PR approved to build,\n`@grahamcofborg sample 10` + +PR approved to build, +`@grahamcofborg sample 10` + + +does the PR change stdenv? + +does the PR change stdenv? + + +PR approved to build,\n`@grahamcofborg sample 10`->does the PR change stdenv? + + + + +refuse, won't do\nmass rebuilds + +refuse, won't do +mass rebuilds + + +does the PR change stdenv?->refuse, won't do\nmass rebuilds + + +yes + + +stdenv already built? + +stdenv already built? + + +does the PR change stdenv?->stdenv already built? + + +no + + +Comment:\n(stdenv not available, will retry later.) + +Comment: +(stdenv not available, will retry later.) + + +stdenv already built?->Comment:\n(stdenv not available, will retry later.) + + +no + + +proceed with build + +proceed with build + + +stdenv already built?->proceed with build + + +yes + + +put the build job back to the delayed build queue + +put the build job back to the delayed build queue + + +Comment:\n(stdenv not available, will retry later.)->put the build job back to the delayed build queue + + + + +5 min later... + +5 min later... + + +put the build job back to the delayed build queue->5 min later... + + + + +stdenv built yet? + +stdenv built yet? + + +5 min later...->stdenv built yet? + + + + +stdenv built yet?->put the build job back to the delayed build queue + + +no + + +stdenv built yet?->proceed with build + + +yes + + +diff prev commit's drvs with current commit's drvs + +diff prev commit's drvs with current commit's drvs + + +proceed with build->diff prev commit's drvs with current commit's drvs + + + + +select 10 drvs + +select 10 drvs + + +diff prev commit's drvs with current commit's drvs->select 10 drvs + + + + +build them + +build them + + +select 10 drvs->build them + + + + +comment on github issue with a build report + +comment on github issue with a build report + + +build them->comment on github issue with a build report + + + + +