[infra] Handle DART_EXPERIMENTAL_BUILD in tools/bots/dart-sdk.py.

This change uses the DART_EXPERIMENTAL_BUILD environment variable to
detect whether the current build happens to be experimental and
shouldn't have side effects.

Bug: b/215113476
Change-Id: Id5442d80d69309e320077f053d8af75b3aab670a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228862
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
diff --git a/tools/bots/dart_sdk.py b/tools/bots/dart_sdk.py
index d14f3ce..934906f 100755
--- a/tools/bots/dart_sdk.py
+++ b/tools/bots/dart_sdk.py
@@ -79,7 +79,7 @@
 def CreateUploadAPIDocs():
     dartdoc_dir = BuildRootPath('gen-dartdocs')
     dartdoc_zip = BuildRootPath('dartdocs-api.zip')
-    if CHANNEL == bot_utils.Channel.TRY:
+    if CHANNEL == bot_utils.Channel.TRY or DART_EXPERIMENTAL_BUILD == '1':
         BuildDartdocAPIDocs(dartdoc_dir)
     else:
         UploadApiLatestFile()
@@ -222,12 +222,13 @@
 
     BUILD_OS = utils.GuessOS()
     BUILDER_NAME = os.environ.get('BUILDBOT_BUILDERNAME')
+    DART_EXPERIMENTAL_BUILD = os.environ.get('DART_EXPERIMENTAL_BUILD')
     CHANNEL = bot_utils.GetChannelFromName(BUILDER_NAME)
 
     if command == 'api_docs':
         if BUILD_OS == 'linux':
             CreateUploadAPIDocs()
-    elif CHANNEL != bot_utils.Channel.TRY:
+    elif CHANNEL != bot_utils.Channel.TRY and DART_EXPERIMENTAL_BUILD != '1':
         for arch in archs:
             print('Create and upload sdk zip for ' + arch)
             sdk_path = BuildRootPath('dart-sdk', arch=arch)