@@ -11,18 +11,15 @@ import (
1111
1212func main () {
1313 draft := flag .Bool ("draft" , false , "create a draft release" )
14+ docker := flag .Bool ("docker" , false , "create a docker release" )
1415 flag .Parse ()
1516
16- arch := flag .Arg (0 )
17- if arch == "" {
18- log .Fatalf ("missing platform_arch argument" )
19- }
20-
2117 sha := os .Getenv ("GITHUB_SHA" )
2218 ref := os .Getenv ("GITHUB_REF" )
2319 cmd := exec .Command ("git" , "show" , "--no-patch" , "--no-notes" , "--pretty=%ci" , sha )
2420 out , err := cmd .CombinedOutput ()
2521 if err != nil {
22+ log .Println (strings .TrimSpace (string (out )))
2623 log .Fatal (err )
2724 }
2825
@@ -32,6 +29,30 @@ func main() {
3229 date = strings .Replace (date , ":" , "" , - 1 )
3330 version := fmt .Sprintf ("v0.0.0-%s-%s" , date , sha [:12 ])
3431
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+
3556 xname := "./equinox"
3657 if _ , err := os .Stat ("./equinox" ); os .IsNotExist (err ) {
3758 xname = "equinox"
@@ -65,8 +86,8 @@ func main() {
6586 cmd = exec .Command (xname , args ... )
6687 cmd .Env = os .Environ ()
6788 out , err = cmd .CombinedOutput ()
68- log .Println (strings .TrimSpace (string (out )))
6989 if err != nil {
90+ log .Println (strings .TrimSpace (string (out )))
7091 log .Fatal (err )
7192 }
7293}
0 commit comments