@@ -11,18 +11,15 @@ import (
11
11
12
12
func main () {
13
13
draft := flag .Bool ("draft" , false , "create a draft release" )
14
+ docker := flag .Bool ("docker" , false , "create a docker release" )
14
15
flag .Parse ()
15
16
16
- arch := flag .Arg (0 )
17
- if arch == "" {
18
- log .Fatalf ("missing platform_arch argument" )
19
- }
20
-
21
17
sha := os .Getenv ("GITHUB_SHA" )
22
18
ref := os .Getenv ("GITHUB_REF" )
23
19
cmd := exec .Command ("git" , "show" , "--no-patch" , "--no-notes" , "--pretty=%ci" , sha )
24
20
out , err := cmd .CombinedOutput ()
25
21
if err != nil {
22
+ log .Println (strings .TrimSpace (string (out )))
26
23
log .Fatal (err )
27
24
}
28
25
@@ -32,6 +29,30 @@ func main() {
32
29
date = strings .Replace (date , ":" , "" , - 1 )
33
30
version := fmt .Sprintf ("v0.0.0-%s-%s" , date , sha [:12 ])
34
31
32
+ if * docker {
33
+ x := "-extldflags \" -static\" -X github.com/kyleconroy/sqlc/internal/cmd.version=" + version
34
+ args := []string {
35
+ "build" ,
36
+ "-a" ,
37
+ "-ldflags" , x ,
38
+ "-o" , "/workspace/sqlc" ,
39
+ "./cmd/sqlc" ,
40
+ }
41
+ cmd = exec .Command ("go" , args ... )
42
+ cmd .Env = os .Environ ()
43
+ out , err = cmd .CombinedOutput ()
44
+ if err != nil {
45
+ log .Println (strings .TrimSpace (string (out )))
46
+ log .Fatal (err )
47
+ }
48
+ return
49
+ }
50
+
51
+ arch := flag .Arg (0 )
52
+ if arch == "" {
53
+ log .Fatalf ("missing platform_arch argument" )
54
+ }
55
+
35
56
xname := "./equinox"
36
57
if _ , err := os .Stat ("./equinox" ); os .IsNotExist (err ) {
37
58
xname = "equinox"
@@ -65,8 +86,8 @@ func main() {
65
86
cmd = exec .Command (xname , args ... )
66
87
cmd .Env = os .Environ ()
67
88
out , err = cmd .CombinedOutput ()
68
- log .Println (strings .TrimSpace (string (out )))
69
89
if err != nil {
90
+ log .Println (strings .TrimSpace (string (out )))
70
91
log .Fatal (err )
71
92
}
72
93
}
0 commit comments