20470: Handle nil selection, selecting on writable_by
[arvados.git] / cmd / arvados-package / build.go
index 8268ea9bac31b9948ecffbc5d492055c95b9c4d8..2ce8a674322dedf410b331b496a7e31987ff01a1 100644 (file)
@@ -16,6 +16,7 @@ import (
        "path/filepath"
        "strings"
 
+       "git.arvados.org/arvados.git/lib/crunchrun"
        "git.arvados.org/arvados.git/sdk/go/ctxlog"
        "github.com/docker/docker/api/types"
        "github.com/docker/docker/client"
@@ -24,13 +25,13 @@ import (
 func build(ctx context.Context, opts opts, stdin io.Reader, stdout, stderr io.Writer) error {
        if opts.PackageVersion == "" {
                var buf bytes.Buffer
-               cmd := exec.CommandContext(ctx, "git", "describe", "--tag", "--dirty")
+               cmd := exec.CommandContext(ctx, "bash", "./build/version-at-commit.sh", "HEAD")
                cmd.Stdout = &buf
                cmd.Stderr = stderr
                cmd.Dir = opts.SourceDir
                err := cmd.Run()
                if err != nil {
-                       return fmt.Errorf("git describe: %w", err)
+                       return fmt.Errorf("%v: %w", cmd.Args, err)
                }
                opts.PackageVersion = strings.TrimSpace(buf.String())
                ctxlog.FromContext(ctx).Infof("version not specified; using %s", opts.PackageVersion)
@@ -132,12 +133,19 @@ func build(ctx context.Context, opts opts, stdin io.Reader, stdout, stderr io.Wr
        if err != nil {
                return err
        }
+       cmd = exec.CommandContext(ctx, "ls", "-l", opts.PackageDir+"/"+packageFilename)
+       cmd.Stdout = stdout
+       cmd.Stderr = stderr
+       err = cmd.Run()
+       if err != nil {
+               return err
+       }
 
        return nil
 }
 
 func dockerRm(ctx context.Context, name string) error {
-       cli, err := client.NewEnvClient()
+       cli, err := client.NewClient(client.DefaultDockerHost, crunchrun.DockerAPIVersion, nil, nil)
        if err != nil {
                return err
        }