[autoroll] Fixes for Fuchsia SDK roller

Bug: skia:
Change-Id: Ic8fd04a7e6e33bc343bb49cda2430d8489cf85ce
Reviewed-on: https://skia-review.googlesource.com/115885
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
diff --git a/autoroll/go/repo_manager/chromium_afdo_repo_manager.go b/autoroll/go/repo_manager/chromium_afdo_repo_manager.go
index 0156ac7..f485e01 100644
--- a/autoroll/go/repo_manager/chromium_afdo_repo_manager.go
+++ b/autoroll/go/repo_manager/chromium_afdo_repo_manager.go
@@ -362,10 +362,10 @@
 		}
 	}
 	if lastIdx == -1 {
-		sklog.Errorf("Last roll rev %q not found in available versions. Not-rolled count will be wrong. Versions: %v", lastRollRev, versions)
+		sklog.Errorf("Last roll rev %q not found in available versions. Not-rolled count will be wrong.", lastRollRev)
 	}
 	if nextIdx == -1 {
-		sklog.Errorf("Next roll rev %q not found in available versions. Not-rolled count will be wrong. Versions: %v", nextRollRev, versions)
+		sklog.Errorf("Next roll rev %q not found in available versions. Not-rolled count will be wrong.", nextRollRev)
 	}
 
 	rm.infoMtx.Lock()
diff --git a/autoroll/go/repo_manager/fuchsia_sdk_repo_manager.go b/autoroll/go/repo_manager/fuchsia_sdk_repo_manager.go
index ed6998a..c931f162 100644
--- a/autoroll/go/repo_manager/fuchsia_sdk_repo_manager.go
+++ b/autoroll/go/repo_manager/fuchsia_sdk_repo_manager.go
@@ -25,7 +25,7 @@
 	FUCHSIA_SDK_GS_BUCKET = "fuchsia"
 	FUCHSIA_SDK_GS_PATH   = "sdk"
 
-	FUCHSIA_SDK_VERSION_FILE_PATH = "build/fuchsia/update_sdk.py"
+	FUCHSIA_SDK_VERSION_FILE_PATH = "build/fuchsia/sdk.sha1"
 
 	FUCHSIA_SDK_COMMIT_MSG_TMPL = `Roll Fuchsia SDK from %s to %s
 
@@ -62,6 +62,11 @@
 	return s[i].Greater(s[j])
 }
 
+// Shorten the Fuchsia SDK version hash.
+func fuchsiaSDKShortVersion(long string) string {
+	return long[:12]
+}
+
 // fuchsiaSDKRepoManager is a RepoManager which rolls the Fuchsia SDK version
 // into Chromium. Unlike other rollers, there is no child repo to sync; the
 // version number is obtained from Google Cloud Storage.
@@ -150,7 +155,7 @@
 	}
 
 	// Commit.
-	commitMsg := fmt.Sprintf(AFDO_COMMIT_MSG_TMPL, afdoShortVersion(from), afdoShortVersion(to), rm.serverURL)
+	commitMsg := fmt.Sprintf(FUCHSIA_SDK_COMMIT_MSG_TMPL, fuchsiaSDKShortVersion(from), fuchsiaSDKShortVersion(to), rm.serverURL)
 	if _, err := exec.RunCommand(ctx, &exec.Command{
 		Dir:  rm.parentDir,
 		Env:  rm.GetEnvForDepotTools(),
@@ -230,14 +235,15 @@
 	if err != nil {
 		return err
 	}
-	lastRollRevStr := string(lastRollRevBytes)
+	lastRollRevStr := strings.TrimSpace(string(lastRollRevBytes))
 
 	// Get the available SDK versions.
 	availableVersions := []*fuchsiaSDKVersion{}
 	if err := rm.gcs.AllFilesInDirectory(ctx, rm.gsPath, func(item *storage.ObjectAttrs) {
+		vSplit := strings.Split(item.Name, "/")
 		availableVersions = append(availableVersions, &fuchsiaSDKVersion{
 			Timestamp: item.Updated,
-			Version:   item.Name,
+			Version:   vSplit[len(vSplit)-1],
 		})
 	}); err != nil {
 		return err
@@ -258,7 +264,7 @@
 		}
 	}
 	if lastIdx == -1 {
-		return fmt.Errorf("Last roll rev %q not found in available versions. Not-rolled count will be wrong. Versions: %v", lastRollRevStr, availableVersions)
+		return fmt.Errorf("Last roll rev %q not found in available versions. Not-rolled count will be wrong.", lastRollRevStr)
 	}
 
 	rm.infoMtx.Lock()
diff --git a/autoroll/go/repo_manager/fuchsia_sdk_repo_manager_test.go b/autoroll/go/repo_manager/fuchsia_sdk_repo_manager_test.go
index 07ace4a..22267c7 100644
--- a/autoroll/go/repo_manager/fuchsia_sdk_repo_manager_test.go
+++ b/autoroll/go/repo_manager/fuchsia_sdk_repo_manager_test.go
@@ -17,9 +17,9 @@
 )
 
 const (
-	fuchsiaSDKRevPrev = "def456"
-	fuchsiaSDKRevBase = "abc123"
-	fuchsiaSDKRevNext = "ace999"
+	fuchsiaSDKRevPrev = "000633ae6e904f7eaced443d6aa65fb3d24afe8c"
+	fuchsiaSDKRevBase = "32a56ad54471732034ba802cbfc3c9ff277b9d1c"
+	fuchsiaSDKRevNext = "37417b795289818723990da66dd7a7b38e50fc04"
 
 	fuchsiaSDKTimePrev = "2009-11-10T23:00:01Z"
 	fuchsiaSDKTimeBase = "2009-11-10T23:00:02Z"
diff --git a/go/autoroll/autoroll.go b/go/autoroll/autoroll.go
index a4eef59..e057752 100644
--- a/go/autoroll/autoroll.go
+++ b/go/autoroll/autoroll.go
@@ -43,7 +43,7 @@
 )
 
 var (
-	ROLL_REV_REGEX = regexp.MustCompile(`^(?:\[\S+\] )?Roll \S+ (?:from )?(\S+)(?:(?:\.\.)|(?: to ))(\S+)(?: \(\d+ commit.*\))?\.?`)
+	ROLL_REV_REGEX = regexp.MustCompile(`^(?:\[\S+\] )?Roll \S+(?:\s+\S+)* (?:from )?(\S+)(?:(?:\.\.)|(?: to ))(\S+)(?: \(\d+ commit.*\))?\.?`)
 
 	OPEN_ROLL_VALID_RESULTS = []string{
 		ROLL_RESULT_DRY_RUN_FAILURE,
diff --git a/go/autoroll/autoroll_test.go b/go/autoroll/autoroll_test.go
index c2c0460..d9d06e2 100644
--- a/go/autoroll/autoroll_test.go
+++ b/go/autoroll/autoroll_test.go
@@ -88,18 +88,19 @@
 func TestRollRev(t *testing.T) {
 	testutils.SmallTest(t)
 
-	assert.True(t, ROLL_REV_REGEX.MatchString("Roll skia/third_party/externals/skcms/ 839318c8b..0e960c612 (1 commit)"))
-	assert.True(t, ROLL_REV_REGEX.MatchString("Roll src/third_party/skia/ 2a223358e..ace53c313 (6 commits)"))
-	assert.True(t, ROLL_REV_REGEX.MatchString("Roll src/third_party/skia/ 2a223358e..ace53c313 (6 commits)."))
-	assert.True(t, ROLL_REV_REGEX.MatchString("Roll src/third_party/skia/ 2a223358e..ace53c313"))
-	assert.True(t, ROLL_REV_REGEX.MatchString("Roll AFDO from 66.0.3336.3_rc-r1 to 66.0.3337.3_rc-r1"))
-	assert.True(t, ROLL_REV_REGEX.MatchString("[manifest] Roll skia 1f1bb9c0b..4150eea6c (1 commits)"))
-	a, b, err := RollRev("Roll skia/third_party/externals/skcms/ 839318c8b..0e960c612 (1 commit)", nil)
-	assert.NoError(t, err)
-	assert.Equal(t, "839318c8b", a)
-	assert.Equal(t, "0e960c612", b)
-	a, b, err = RollRev("Roll AFDO from 66.0.3336.3_rc-r1 to 66.0.3337.3_rc-r1", nil)
-	assert.NoError(t, err)
-	assert.Equal(t, "66.0.3336.3_rc-r1", a)
-	assert.Equal(t, "66.0.3337.3_rc-r1", b)
+	test := func(msg, from, to string) {
+		assert.True(t, ROLL_REV_REGEX.MatchString(msg))
+		a, b, err := RollRev(msg, nil)
+		assert.NoError(t, err)
+		assert.Equal(t, from, a)
+		assert.Equal(t, to, b)
+	}
+
+	test("Roll skia/third_party/externals/skcms/ 839318c8b..0e960c612 (1 commit)", "839318c8b", "0e960c612")
+	test("Roll src/third_party/skia/ 2a223358e..ace53c313 (6 commits)", "2a223358e", "ace53c313")
+	test("Roll src/third_party/skia/ 2a223358e..ace53c313 (6 commits).", "2a223358e", "ace53c313")
+	test("Roll src/third_party/skia/ 2a223358e..ace53c313", "2a223358e", "ace53c313")
+	test("Roll AFDO from 66.0.3336.3_rc-r1 to 66.0.3337.3_rc-r1", "66.0.3336.3_rc-r1", "66.0.3337.3_rc-r1")
+	test("[manifest] Roll skia 1f1bb9c0b..4150eea6c (1 commits)", "1f1bb9c0b", "4150eea6c")
+	test("Roll Fuchsia SDK from abc123 to def456", "abc123", "def456")
 }