(* Goal: website has been rsync'd. *)
and website_rsync_done version =
- let key = sprintf "libguestfs_website_rsync_done_%s" version.version in
- target (memory_exists key);
+ target (url_contains_string "http://libguestfs.org" version.version &&
+ url_exists version.url);
sh "
cd %s
- echo NOT RUNNING: . .rsync
- " libguestfs_website_cvs;
- memory_set key "1"
+ ./.rsync
+ " 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);
sh "
cd %s
cp %s/tarballs/%s %s
- echo NOT RUNNING: cvs add -kb %s
- echo NOT RUNNING: cvs ci -m \"Version %s\"
+ cvs add -kb %s
+ cvs ci -m \"Version %s\"
" libguestfs_website_cvs
buildtmp version.tarball version.urlpath
version.urlpath
sh "
tar zxf %s/tarballs/%s
cd %s
+
echo %s > localconfigure
chmod +x localconfigure
- echo %s > localenv .
+ echo %s > localenv
+
./localconfigure
make
make website
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
echo %s > localconfigure
chmod +x localconfigure
- echo %s > localenv .
+ echo %s > localenv
./localconfigure
make
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);
" 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.
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>'"
+ )