Publish "commit" and "release" goals.
[goaljobs-goals.git] / libguestfs_upstream.ml
index be939ae..eb6806e 100644 (file)
@@ -69,17 +69,18 @@ let rec goal website_updated version =
 and website_rsync_done version =
   let key = sprintf "libguestfs_website_rsync_done_%s" version.version in
   target (memory_exists key);
+  onrun (fun () -> memory_set key "1");
 
   sh "
     cd %s
     echo NOT RUNNING: . .rsync
-  " libguestfs_website_cvs;
-  memory_set key "1"
+  " libguestfs_website_cvs
 
 (* Goal: Tarball added to CVS and CVS checked in. *)
 and website_cvs_checked_in version =
   let key = sprintf "libguestfs_website_cvs_checked_in_%s" version.version in
   target (memory_exists key);
+  onrun (fun () -> memory_set key "1");
 
   require (tarball_created version);
   require (tarball_tested version);
@@ -108,9 +109,11 @@ and website_built version =
   sh "
     tar zxf %s/tarballs/%s
     cd %s
+
     echo %s > localconfigure
     chmod +x localconfigure
-    echo %s > localenv .
+    echo %s > localenv
+
     ./localconfigure
     make
     make website
@@ -125,15 +128,18 @@ and website_built version =
 and tarball_tested version =
   let key = sprintf "libguestfs_tarball_tested_%s" version.version in
   target (memory_exists key);
+  onrun (fun () -> memory_set key "1");
 
   require (tarball_created version);
 
   sh "
     tar zxf %s/tarballs/%s
     cd %s
+
     echo %s > localconfigure
     chmod +x localconfigure
-    echo %s > localenv .
+    echo %s > localenv
+
     ./localconfigure
     make
     make check-release
@@ -157,7 +163,7 @@ and tarball_created version =
 
     echo %s > localconfigure
     chmod +x localconfigure
-    echo %s > localenv .
+    echo %s > localenv
 
     ./localconfigure
     make
@@ -179,6 +185,7 @@ and commit_tested branch commit =
 
   let key = sprintf "libguestfs_commit_tested_%s" commit in
   target (memory_exists key);
+  onrun (fun () -> memory_set key "1");
 
   let repodir = sprintf "%s/repos/%s-%s" buildtmp package branch in
   require (directory_exists repodir);
@@ -198,9 +205,7 @@ and commit_tested branch commit =
   " repodir
     commit
     (quote (libguestfs_localconfigure `Git))
-    (quote libguestfs_localenv);
-
-  memory_set key "1"
+    (quote libguestfs_localenv)
 
 (* Helper function to make a full 'info' object from a version
  * number.
@@ -285,3 +290,19 @@ let () =
       let version = git_latest_version "master" in
       require (website_updated version)
   )
+
+(* Allow these jobs to run from the command line. *)
+let () =
+  publish "commit" (
+    function
+    | [commit] -> require (commit_tested "master" commit)
+    | [branch; commit] -> require (commit_tested branch commit)
+    | _ ->
+      failwith "use './libguestfs_upstream commit [<branch>] <commit>'"
+  );
+  publish "release" (
+    function
+    | [version] -> require (website_updated (vernames version))
+    | _ ->
+      failwith "use './libguestfs_upstream release <version>'"
+  )