[autoroll] Fix failure to upload CLs due to missing Change-Id footer

Change-Id: I6f6b9ed754b5add51df70636a15e14ce55b568e2
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/371957
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
diff --git a/autoroll/go/repo_manager/copy_repo_manager_test.go b/autoroll/go/repo_manager/copy_repo_manager_test.go
index f2ce88e..96f4838 100644
--- a/autoroll/go/repo_manager/copy_repo_manager_test.go
+++ b/autoroll/go/repo_manager/copy_repo_manager_test.go
@@ -246,7 +246,7 @@
 	urlMock.MockOnce("https://fake-skia-review.googlesource.com/a/changes/", mockhttpclient.MockPostDialogueWithResponseCode("application/json", reqBody, respBody, 201))
 
 	// Mock the edit of the change to update the commit message.
-	reqBody = []byte(fmt.Sprintf(`{"message":"%s"}`, strings.Replace(fakeCommitMsg, "\n", "\\n", -1)))
+	reqBody = []byte(fmt.Sprintf(`{"message":"%s"}`, strings.Replace(fakeCommitMsgMock, "\n", "\\n", -1)))
 	urlMock.MockOnce("https://fake-skia-review.googlesource.com/a/changes/123/edit:message", mockhttpclient.MockPutDialogue("application/json", reqBody, []byte("")))
 
 	// Mock the requests to modify the copied files.
diff --git a/autoroll/go/repo_manager/deps_repo_manager_test.go b/autoroll/go/repo_manager/deps_repo_manager_test.go
index b903482..624c350 100644
--- a/autoroll/go/repo_manager/deps_repo_manager_test.go
+++ b/autoroll/go/repo_manager/deps_repo_manager_test.go
@@ -41,6 +41,7 @@
 
 blah blah blah
 `
+	fakeCommitMsgMock = fakeCommitMsg + "\n\nChange-Id: 123"
 )
 
 var (
diff --git a/autoroll/go/repo_manager/freetype_repo_manager_test.go b/autoroll/go/repo_manager/freetype_repo_manager_test.go
index 8e0b505..510831f 100644
--- a/autoroll/go/repo_manager/freetype_repo_manager_test.go
+++ b/autoroll/go/repo_manager/freetype_repo_manager_test.go
@@ -217,7 +217,7 @@
 	urlmock.MockOnce("https://fake-skia-review.googlesource.com/a/changes/", mockhttpclient.MockPostDialogueWithResponseCode("application/json", reqBody, respBody, 201))
 
 	// Mock the edit of the change to update the commit message.
-	reqBody = []byte(fmt.Sprintf(`{"message":"%s"}`, strings.Replace(fakeCommitMsg, "\n", "\\n", -1)))
+	reqBody = []byte(fmt.Sprintf(`{"message":"%s"}`, strings.Replace(fakeCommitMsgMock, "\n", "\\n", -1)))
 	urlmock.MockOnce("https://fake-skia-review.googlesource.com/a/changes/123/edit:message", mockhttpclient.MockPutDialogue("application/json", reqBody, []byte("")))
 
 	// Mock the request to modify the DEPS file.
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 834d91c..57d3b8d 100644
--- a/autoroll/go/repo_manager/fuchsia_sdk_repo_manager_test.go
+++ b/autoroll/go/repo_manager/fuchsia_sdk_repo_manager_test.go
@@ -199,7 +199,7 @@
 	urlmock.MockOnce("https://fake-skia-review.googlesource.com/a/changes/", mockhttpclient.MockPostDialogueWithResponseCode("application/json", reqBody, respBody, 201))
 
 	// Mock the edit of the change to update the commit message.
-	reqBody = []byte(fmt.Sprintf(`{"message":"%s"}`, strings.Replace(fakeCommitMsg, "\n", "\\n", -1)))
+	reqBody = []byte(fmt.Sprintf(`{"message":"%s"}`, strings.Replace(fakeCommitMsgMock, "\n", "\\n", -1)))
 	urlmock.MockOnce("https://fake-skia-review.googlesource.com/a/changes/123/edit:message", mockhttpclient.MockPutDialogue("application/json", reqBody, []byte("")))
 
 	// Mock the request to modify the version files.
diff --git a/autoroll/go/repo_manager/no_checkout_deps_repo_manager_test.go b/autoroll/go/repo_manager/no_checkout_deps_repo_manager_test.go
index 2dc9af4..35442ea 100644
--- a/autoroll/go/repo_manager/no_checkout_deps_repo_manager_test.go
+++ b/autoroll/go/repo_manager/no_checkout_deps_repo_manager_test.go
@@ -216,7 +216,7 @@
 	urlmock.MockOnce("https://fake-skia-review.googlesource.com/a/changes/", mockhttpclient.MockPostDialogueWithResponseCode("application/json", reqBody, respBody, 201))
 
 	// Mock the edit of the change to update the commit message.
-	reqBody = []byte(fmt.Sprintf(`{"message":"%s"}`, strings.Replace(fakeCommitMsg, "\n", "\\n", -1)))
+	reqBody = []byte(fmt.Sprintf(`{"message":"%s"}`, strings.Replace(fakeCommitMsgMock, "\n", "\\n", -1)))
 	urlmock.MockOnce("https://fake-skia-review.googlesource.com/a/changes/123/edit:message", mockhttpclient.MockPutDialogue("application/json", reqBody, []byte("")))
 
 	// Mock the request to modify the DEPS file.
@@ -352,7 +352,7 @@
 	urlmock.MockOnce("https://fake-skia-review.googlesource.com/a/changes/", mockhttpclient.MockPostDialogueWithResponseCode("application/json", reqBody, respBody, 201))
 
 	// Mock the edit of the change to update the commit message.
-	reqBody = []byte(fmt.Sprintf(`{"message":"%s"}`, strings.Replace(fakeCommitMsg, "\n", "\\n", -1)))
+	reqBody = []byte(fmt.Sprintf(`{"message":"%s"}`, strings.Replace(fakeCommitMsgMock, "\n", "\\n", -1)))
 	urlmock.MockOnce("https://fake-skia-review.googlesource.com/a/changes/123/edit:message", mockhttpclient.MockPutDialogue("application/json", reqBody, []byte("")))
 
 	// Mock the request to modify the DEPS file.
diff --git a/autoroll/go/repo_manager/semver_gcs_repo_manager_test.go b/autoroll/go/repo_manager/semver_gcs_repo_manager_test.go
index bee10bb..6ca00cb 100644
--- a/autoroll/go/repo_manager/semver_gcs_repo_manager_test.go
+++ b/autoroll/go/repo_manager/semver_gcs_repo_manager_test.go
@@ -305,7 +305,7 @@
 	urlmock.MockOnce("https://fake-skia-review.googlesource.com/a/changes/", mockhttpclient.MockPostDialogueWithResponseCode("application/json", reqBody, respBody, 201))
 
 	// Mock the edit of the change to update the commit message.
-	reqBody = []byte(fmt.Sprintf(`{"message":"%s"}`, strings.Replace(fakeCommitMsg, "\n", "\\n", -1)))
+	reqBody = []byte(fmt.Sprintf(`{"message":"%s"}`, strings.Replace(fakeCommitMsgMock, "\n", "\\n", -1)))
 	urlmock.MockOnce("https://fake-skia-review.googlesource.com/a/changes/123/edit:message", mockhttpclient.MockPutDialogue("application/json", reqBody, []byte("")))
 
 	// Mock the request to modify the version file.
diff --git a/go/gerrit/change_edit_helpers.go b/go/gerrit/change_edit_helpers.go
index f32bc45..bb7e35b 100644
--- a/go/gerrit/change_edit_helpers.go
+++ b/go/gerrit/change_edit_helpers.go
@@ -36,9 +36,10 @@
 	if err != nil {
 		return nil, skerr.Wrapf(err, "failed to create change")
 	}
+	fullCommitMsg := commitMsg + "\n\n" + "Change-Id: " + ci.ChangeId
 	if err := EditChange(ctx, g, ci, func(ctx context.Context, g GerritInterface, ci *ChangeInfo) error {
-		if err := g.SetCommitMessage(ctx, ci, commitMsg); err != nil {
-			return skerr.Wrapf(err, "failed to set commit message")
+		if err := g.SetCommitMessage(ctx, ci, fullCommitMsg); err != nil {
+			return skerr.Wrapf(err, "failed to set commit message to:\n\n%s\n\n", fullCommitMsg)
 		}
 		return fn(ctx, g, ci)
 	}); err != nil {