diff --git a/tools/bots/dart_sdk.py b/tools/bots/dart_sdk.py
index be81900..f9688a9 100755
--- a/tools/bots/dart_sdk.py
+++ b/tools/bots/dart_sdk.py
@@ -27,16 +27,6 @@
  else:
    return ['ia32', 'x64']
 
-def BuildSDK():
-  with bot.BuildStep('Build SDK'):
-    if BUILD_OS == 'linux':
-      sysroot_env = dict(os.environ)
-      sysroot_env['DART_USE_WHEEZY'] = '1'
-      Run([sys.executable, './tools/generate_buildfiles.py'], env=sysroot_env)
-    for arch in BuildArchitectures():
-      Run([sys.executable, './tools/build.py', '--mode=release',
-           '--arch=' + arch, 'create_sdk'])
-
 def BuildDartdocAPIDocs(dirname):
   dart_sdk = os.path.join(bot_utils.DART_DIR,
                           utils.GetBuildRoot(BUILD_OS, 'release',
@@ -102,11 +92,6 @@
     gs_path = namer.unstripped_filepath(revision, BUILD_OS, arch)
     DartArchiveFile(binary, gs_path)
 
-def CreateUploadSDK():
-  BuildSDK()
-  CreateUploadSDKZips()
-  DartArchiveUnstrippedBinaries()
-
 def CreateUploadAPIDocs():
   dartdoc_dir = os.path.join(bot_utils.DART_DIR,
                              utils.GetBuildRoot(BUILD_OS, 'release',
@@ -116,7 +101,7 @@
                              utils.GetBuildRoot(BUILD_OS, 'release',
                                                 BUILD_ARCHITECTURE),
                              'dartdocs-api.zip')
-  if CHANNEL == 'try':
+  if CHANNEL == bot_utils.Channel.TRY:
     BuildDartdocAPIDocs(dartdoc_dir)
   else:
     UploadApiLatestFile()
@@ -226,11 +211,8 @@
   if len(sys.argv) > 1 and sys.argv[1] == 'api_docs':
     if BUILD_OS == 'linux':
       CreateUploadAPIDocs()
-  else:
-    # We always clobber the bot, to make sure releases are build from scratch
-    force = CHANNEL != bot_utils.Channel.BLEEDING_EDGE
-    bot.Clobber(force=force)
-
-    CreateUploadSDK()
+  elif CHANNEL != bot_utils.Channel.TRY:
+    CreateUploadSDKZips()
+    DartArchiveUnstrippedBinaries()
     if BUILD_OS == 'linux':
       CreateUploadVersionFile()
diff --git a/tools/bots/test_matrix.json b/tools/bots/test_matrix.json
index 07e3cf0..16e0f7d 100644
--- a/tools/bots/test_matrix.json
+++ b/tools/bots/test_matrix.json
@@ -1323,8 +1323,13 @@
       "steps": [
         {
           "name": "build dart",
-          "script": "tools/bots/dart_sdk.py",
-          "arguments": []
+          "script": "tools/build.py",
+          "arguments": ["--arch=ia32,x64,arm,arm64",
+                        "--mode=release", "create_sdk"]
+        },
+        {
+          "name": "upload sdk",
+          "script": "tools/bots/dart_sdk.py"
         },
         {
           "name": "build api docs",
@@ -1342,28 +1347,21 @@
       ]
     },
     {
-      "builders": ["dart-sdk-mac"],
+      "builders": ["dart-sdk-mac",
+                   "dart-sdk-win"],
       "meta": {
-        "description": "This configuration is used by the sdk-builder for mac."
+        "description": "This configuration is used by the sdk-builders for MacOS and Windows."
       },
       "steps": [
         {
           "name": "build dart",
-          "script": "tools/bots/dart_sdk.py",
-          "arguments": []
-        }
-      ]
-    },
-    {
-      "builders": ["dart-sdk-win"],
-      "meta": {
-        "description": "This configuration is used by the sdk-builder for windows."
-      },
-      "steps": [
+          "script": "tools/build.py",
+          "arguments": ["--arch=ia32,x64",
+                        "--mode=release", "create_sdk"]
+        },
         {
-          "name": "build dart",
-          "script": "tools/bots/dart_sdk.py",
-          "arguments": []
+          "name": "upload sdk",
+          "script": "tools/bots/dart_sdk.py"
         }
       ]
     },
