[infra] Upload RISCV64 SDK.

gclient sync will need a prebuilt SDK on RISCV64 hosts.

Bug: https://github.com/dart-lang/sdk/issues/48545
Change-Id: I90358d27c66e1ec8228419ae0fa463c98e2cb5e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/237627
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
diff --git a/tools/bots/bot_utils.py b/tools/bots/bot_utils.py
index 98b48eb..0b82701 100755
--- a/tools/bots/bot_utils.py
+++ b/tools/bots/bot_utils.py
@@ -37,6 +37,7 @@
     'x64': 'x64',
     'arm': 'arm',
     'arm64': 'arm64',
+    'riscv64': 'riscv64',
 }
 
 SYSTEM_TO_CIPD = {
@@ -51,6 +52,7 @@
     'x64': 'amd64',
     'arm': 'arm6l',
     'arm64': 'arm64',
+    'riscv64': 'riscv64',
 }
 
 
diff --git a/tools/bots/test_matrix.json b/tools/bots/test_matrix.json
index 4f67da1..0bac3b9 100644
--- a/tools/bots/test_matrix.json
+++ b/tools/bots/test_matrix.json
@@ -2986,7 +2986,7 @@
       },
       "steps": [
         {
-          "name": "build dart",
+          "name": "build dart (clang builds)",
           "script": "tools/build.py",
           "arguments": [
             "--arch=ia32,x64,arm,arm64",
@@ -2996,10 +2996,21 @@
           ]
         },
         {
+          "name": "build dart (gcc builds)",
+          "script": "tools/build.py",
+          "arguments": [
+            "--no-clang",
+            "--arch=riscv64",
+            "--mode=release",
+            "--check-clean",
+            "create_sdk"
+          ]
+        },
+        {
           "name": "upload sdk",
           "script": "tools/bots/dart_sdk.py",
           "arguments": [
-            "--arch=ia32,x64,arm,arm64"
+            "--arch=ia32,x64,arm,arm64,riscv64"
           ]
         },
         {
diff --git a/tools/sdks/update.sh b/tools/sdks/update.sh
index 09255a7..2292649 100755
--- a/tools/sdks/update.sh
+++ b/tools/sdks/update.sh
@@ -51,6 +51,16 @@
   -ref $channel
 rm -rf sdk
 
+gsutil.py cp "gs://dart-archive/channels/$channel/release/$1/sdk/dartsdk-linux-riscv64-release.zip" .
+unzip -q dartsdk-linux-riscv64-release.zip -d sdk
+cipd create \
+  -name dart/dart-sdk/linux-riscv64 \
+  -in sdk \
+  -install-mode copy \
+  -tag version:$1 \
+  -ref $channel
+rm -rf sdk
+
 gsutil.py cp "gs://dart-archive/channels/$channel/release/$1/sdk/dartsdk-macos-x64-release.zip" .
 unzip -q dartsdk-macos-x64-release.zip -d sdk
 cipd create \