func writeToBucket()

in gke-windows-builder/builder/builder/bucket.go [97:127]


func writeToBucket(
	ctx context.Context,
	bucket string,
	object string,
	inputPath string,
) (string, error) {

	client, err := storage.NewClient(ctx)
	if err != nil {
		return "", err
	}
	defer client.Close()

	bkt := client.Bucket(bucket)

	f, err := os.Open(inputPath)
	if err != nil {
		return "", err
	}
	defer f.Close()

	obj := bkt.Object(object)
	w := obj.NewWriter(ctx)
	defer w.Close()

	if _, err := io.Copy(w, f); err != nil {
		return "", err
	}

	return fmt.Sprintf("gs://%s/%s", bucket, object), nil
}