Skip to content

Commit 63fa3cf

Browse files
committed
Trying to collect common code and then add better diagnostics
1 parent 9de3aea commit 63fa3cf

File tree

2 files changed

+42
-62
lines changed

2 files changed

+42
-62
lines changed
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
image:
2-
tar zcf - . | docker build -t xogeny/book-hook -
2+
-rm -rf _cache
3+
tar zcf - . | docker build -t mtiller/book-hook -
34

4-
push:
5+
push: image
56
docker push mtiller/book-hook

docker/gopath/src/xogeny/pubbook/pubbook.go

Lines changed: 39 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,34 @@ type Builder struct {
1212
Debug bool
1313
}
1414

15+
func git(args...string) error {
16+
log.Printf("Running %v...", args);
17+
18+
cmd := exec.Command("git", args...)
19+
err := cmd.Run()
20+
if err != nil {
21+
log.Printf("Error: %s", err.Error());
22+
return err;
23+
} else {
24+
log.Printf("...successful");
25+
}
26+
return nil;
27+
}
28+
29+
func make(dir string, targets...string) error {
30+
cmd := exec.Command("make", targets...);
31+
cmd.Dir = path.Join(dir, "text");
32+
log.Printf("Running initial make: %v...", targets);
33+
err := cmd.Run()
34+
if err != nil {
35+
log.Printf("Error running initial make '%v': %s", targets, err.Error());
36+
return err;
37+
} else {
38+
log.Printf("...successful");
39+
}
40+
return nil;
41+
}
42+
1543
func (b Builder) Push(msg hs.HubMessage) {
1644
url := "git@github.com:xogeny/ModelicaBook.git"
1745
ref := "origin/master"
@@ -22,83 +50,34 @@ func (b Builder) Push(msg hs.HubMessage) {
2250
dir := path.Join("_cache", user);
2351

2452
diri, err := os.Stat(dir);
25-
/*
26-
if (err!=nil) {
27-
log.Printf("Error getting file information: %s", err.Error());
28-
return;
29-
}
30-
*/
31-
32-
var cmd *exec.Cmd;
33-
var exists bool;
3453

35-
exists = err==nil && diri.IsDir();
54+
exists := err==nil && diri.IsDir();
3655

3756
// TODO: Have a query parameter to clear cache
3857

3958
if (exists) {
40-
log.Printf("Repository already exists, fetching latest updates...");
41-
/* Clone repo locally */
42-
cmd = exec.Command("git", "fetch", "origin")
43-
err := cmd.Run()
44-
if err != nil {
45-
log.Printf("Error fetching updates: %s", err.Error());
46-
return;
47-
} else {
48-
log.Printf("...successful");
49-
}
59+
err = git("fetch", "origin");
60+
if (err!=nil) { return; }
5061
} else {
51-
log.Printf("Cloning repository: %s...", url);
52-
/* Clone repo locally */
53-
cmd = exec.Command("git", "clone", url, dir)
54-
err := cmd.Run()
55-
if err != nil {
56-
log.Printf("Error cloning repository at '%s' to directory %s: %s",
57-
url, dir, err.Error());
58-
return;
59-
} else {
60-
log.Printf("...successful");
61-
}
62+
err = git("clone", url, dir);
63+
if (err!=nil) { return; }
6264
}
6365

64-
log.Printf("Checking out: %s...", ref);
6566
/* Repo checkout correct ref */
66-
cmd = exec.Command("git", "checkout", ref)
67-
err = cmd.Run()
68-
if err != nil {
69-
log.Printf("Error checking out '%s': %s", ref, err.Error());
70-
return;
71-
} else {
72-
log.Printf("...successful");
73-
}
67+
err = git("checkout", ref)
68+
if err != nil { return; }
7469

7570
bucket := fmt.Sprintf("S3BUCKET=dev.book.xogeny.com/%s", user);
7671
if (!exists) {
7772
// If it didn't already exist, we need to run some make targets
7873
/* Run make */
79-
cmd = exec.Command("make", "specs", "results");
80-
cmd.Dir = path.Join(dir, "text");
81-
log.Printf("Running initial make: %v...", cmd);
82-
err = cmd.Run()
83-
if err != nil {
84-
log.Printf("Error running initial make '%v': %s", cmd, err.Error());
85-
return;
86-
} else {
87-
log.Printf("...successful");
88-
}
74+
make(dir, "specs", "results");
75+
if (err!=nil) { return; }
8976
}
9077

9178
/* Run make */
92-
cmd = exec.Command("make", target1, target2, bucket);
93-
cmd.Dir = path.Join(dir, "text");
94-
log.Printf("Running build make: %v...", cmd);
95-
err = cmd.Run()
96-
if err != nil {
97-
log.Printf("Error running build make '%v': %s", cmd, err.Error());
98-
return;
99-
} else {
100-
log.Printf("...successful");
101-
}
79+
make(dir, target1, target2, bucket);
80+
if err != nil { return; }
10281

10382
log.Printf("Make ran!");
10483
}

0 commit comments

Comments
 (0)