release: upload asc files
Updates golang/go#14739.
Change-Id: Idf023b208b3a0605cb8841f572984f1b3053e2d8
Reviewed-on: https://go-review.googlesource.com/58270
Reviewed-by: Andrew Bonventre <andybons@golang.org>
diff --git a/cmd/release/upload.go b/cmd/release/upload.go
index eb0d2ca..08667ba 100644
--- a/cmd/release/upload.go
+++ b/cmd/release/upload.go
@@ -46,7 +46,7 @@
// go1.5beta2.src.tar.gz
// go1.5.1.linux-386.tar.gz
// go1.5.windows-amd64.msi
-var fileRe = regexp.MustCompile(`^(go[a-z0-9-.]+)\.(src|([a-z0-9]+)-([a-z0-9]+)(?:-([a-z0-9.]+))?)\.(tar\.gz|zip|pkg|msi)$`)
+var fileRe = regexp.MustCompile(`^(go[a-z0-9-.]+)\.(src|([a-z0-9]+)-([a-z0-9]+)(?:-([a-z0-9.]+))?)\.(tar\.gz|zip|pkg|msi)(.asc)?$`)
func upload(files []string) error {
ctx := context.Background()
@@ -84,12 +84,18 @@
return err
}
base := filepath.Base(filename)
- checksum := fmt.Sprintf("%x", sha256.Sum256(file))
// Upload file to Google Cloud Storage.
if err := putObject(ctx, c, base, file); err != nil {
return fmt.Errorf("uploading %q: %v", base, err)
}
+
+ if strings.HasSuffix(base, ".asc") {
+ // Don't add asc files to the download page, just upload it.
+ return nil
+ }
+
+ checksum := fmt.Sprintf("%x", sha256.Sum256(file))
// Upload file.sha256.
if err := putObject(ctx, c, base+".sha256", []byte(checksum)); err != nil {
return fmt.Errorf("uploading %q: %v", base+".sha256", err)
@@ -129,7 +135,6 @@
return fmt.Errorf("upload failed: %v\n%s", resp.Status, b)
}
return nil
-
}
func putObject(ctx context.Context, c *storage.Client, name string, body []byte) error {
diff --git a/cmd/release/upload_test.go b/cmd/release/upload_test.go
new file mode 100644
index 0000000..cb4c1fa
--- /dev/null
+++ b/cmd/release/upload_test.go
@@ -0,0 +1,22 @@
+package main
+
+import "testing"
+
+func TestFileRe(t *testing.T) {
+ shouldMatch := []string{
+ "go1.5beta2.src.tar.gz",
+ "go1.5.1.linux-386.tar.gz",
+ "go1.5.windows-amd64.msi",
+
+ "go1.5beta2.src.tar.gz.asc",
+ "go1.5.1.linux-386.tar.gz.asc",
+ "go1.5.windows-amd64.msi.asc",
+ }
+ for _, fn := range shouldMatch {
+ t.Run(fn, func(t *testing.T) {
+ if !fileRe.MatchString(fn) {
+ t.Fatalf("want %q to match, didn't", fn)
+ }
+ })
+ }
+}