Version 2.2.1-dev.1.1
* Cherry-pick 567d552de8ff93d704111467e7f3bf3b896ab684 to dev
* Cherry-pick 4ca57befd707a0309e384472a566c084eef0e56e to dev
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e111253..37704bb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+## 2.2.1-dev.1.1
+
+* Cherry-pick 567d552de8ff93d704111467e7f3bf3b896ab684 to dev
+* Cherry-pick 4ca57befd707a0309e384472a566c084eef0e56e to dev
+
## 2.2.1-dev.1.0
### Tool Changes
diff --git a/DEPS b/DEPS
index 88c3561..f1860721 100644
--- a/DEPS
+++ b/DEPS
@@ -79,7 +79,7 @@
# minutes later.
#
# For more details, see https://github.com/dart-lang/sdk/issues/30164
- "dart_style_tag": "1.2.2", # Please see the note above before updating.
+ "dart_style_tag": "1.2.4", # Please see the note above before updating.
"dartdoc_tag" : "v0.28.2",
"fixnum_tag": "0.10.9",
diff --git a/tools/VERSION b/tools/VERSION
index 5df95eb..6ba184f 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -34,6 +34,6 @@
MINOR 2
PATCH 1
PRERELEASE 1
-PRERELEASE_PATCH 0
+PRERELEASE_PATCH 1
ABI_VERSION 0
OLDEST_SUPPORTED_ABI_VERSION 0
diff --git a/tools/bots/linux_distribution_support.py b/tools/bots/linux_distribution_support.py
index 7e86e8c..28c26c7 100644
--- a/tools/bots/linux_distribution_support.py
+++ b/tools/bots/linux_distribution_support.py
@@ -35,33 +35,14 @@
return None
return bot.BuildInfo('none', 'none', 'release', 'linux')
-def ArchiveArtifacts(tarfile, builddir, channel):
- namer = bot_utils.GCSNamer(channel=channel)
- gsutil = bot_utils.GSUtil()
- revision = utils.GetArchiveVersion()
- # Archive the src tar to the src dir
- remote_tarfile = '/'.join([namer.src_directory(revision),
- os.path.basename(tarfile)])
- gsutil.upload(tarfile, remote_tarfile, public=True)
- # Archive all files except the tar file to the linux packages dir
- for entry in os.listdir(builddir):
- full_path = os.path.join(builddir, entry)
- # We expect a flat structure, not subdirectories
- assert(os.path.isfile(full_path))
- if full_path != tarfile:
- package_dir = namer.linux_packages_directory(revision)
- remote_file = '/'.join([package_dir,
- os.path.basename(entry)])
- gsutil.upload(full_path, remote_file, public=True)
-
def InstallFromDep(builddir):
for entry in os.listdir(builddir):
if entry.endswith("_amd64.deb"):
path = os.path.join(builddir, entry)
- Run(['sudo', 'dpkg', '-i', path])
+ Run(['dpkg', '-i', path])
def UninstallDart():
- Run(['sudo', 'dpkg', '-r', 'dart'])
+ Run(['dpkg', '-r', 'dart'])
def CreateDartTestFile(tempdir):
filename = os.path.join(tempdir, 'test.dart')
@@ -162,13 +143,6 @@
UninstallDart()
TestInstallation(assume_installed=False)
- with bot.BuildStep('Upload artifacts'):
- bot_name, _ = bot.GetBotName()
- channel = bot_utils.GetChannelFromName(bot_name)
- if channel != bot_utils.Channel.BLEEDING_EDGE:
- ArchiveArtifacts(tarfile, builddir, channel)
- else:
- print 'Not uploading artifacts on bleeding edge'
if __name__ == '__main__':
# We pass in None for build_step to avoid building the sdk.
diff --git a/tools/bots/test_matrix.json b/tools/bots/test_matrix.json
index 4efcdb6..0dc5fc2 100644
--- a/tools/bots/test_matrix.json
+++ b/tools/bots/test_matrix.json
@@ -1246,16 +1246,12 @@
{
"name": "build dart",
"script": "tools/bots/dart_sdk.py",
- "arguments": [],
- "environment": {"BUILDBOT_BUILDERNAME": "dart-sdk-linux"}
-
+ "arguments": []
},
{
"name": "build api docs",
"script": "tools/bots/dart_sdk.py",
- "arguments": [ "api_docs" ],
- "environment": {"BUILDBOT_BUILDERNAME": "dart-sdk-linux"}
-
+ "arguments": [ "api_docs" ]
},
{
"name": "upload abi dills",
@@ -1263,8 +1259,7 @@
"arguments": [
"tools/VERSION",
"out/ReleaseX64"
- ],
- "environment": {"BUILDBOT_BUILDERNAME": "dart-sdk-linux"}
+ ]
}
]
},
@@ -1277,9 +1272,7 @@
{
"name": "build dart",
"script": "tools/bots/dart_sdk.py",
- "arguments": [],
- "environment": {"BUILDBOT_BUILDERNAME": "dart-sdk-mac"}
-
+ "arguments": []
}
]
},
@@ -1292,9 +1285,38 @@
{
"name": "build dart",
"script": "tools/bots/dart_sdk.py",
- "arguments": [],
- "environment": {"BUILDBOT_BUILDERNAME": "dart-sdk-win"}
-
+ "arguments": []
+ }
+ ]
+ },
+ {
+ "builders": ["debianpackage-linux"],
+ "meta": {
+ "description": "This configuration is used by the debianpackage-builder."
+ },
+ "steps": [
+ {
+ "name": "build debian package",
+ "script": "tools/run_debian_build.sh",
+ "arguments": []
+ },
+ {
+ "name": "upload debian packages",
+ "script": "tools/bots/upload_debian_packages.py",
+ "arguments": []
+ }
+ ]
+ },
+ {
+ "builders": ["versionchecker-linux"],
+ "meta": {
+ "description": "This configuration is used by the versionchecker-builder."
+ },
+ "steps": [
+ {
+ "name": "check version",
+ "script": "tools/bots/version_checker.py",
+ "arguments": []
}
]
},
diff --git a/tools/bots/upload_debian_packages.py b/tools/bots/upload_debian_packages.py
new file mode 100755
index 0000000..04750c0
--- /dev/null
+++ b/tools/bots/upload_debian_packages.py
@@ -0,0 +1,53 @@
+#!/usr/bin/python
+
+# Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
+# for details. All rights reserved. Use of this source code is governed by a
+# BSD-style license that can be found in the LICENSE file.
+
+
+import os
+
+
+import bot
+import bot_utils
+
+
+utils = bot_utils.GetUtils()
+
+
+HOST_OS = utils.GuessOS()
+
+
+def ArchiveArtifacts(tarfile, builddir, channel):
+ namer = bot_utils.GCSNamer(channel=channel)
+ gsutil = bot_utils.GSUtil()
+ revision = utils.GetArchiveVersion()
+ # Archive the src tar to the src dir
+ remote_tarfile = '/'.join([namer.src_directory(revision),
+ os.path.basename(tarfile)])
+ gsutil.upload(tarfile, remote_tarfile, public=True)
+ # Archive all files except the tar file to the linux packages dir
+ for entry in os.listdir(builddir):
+ full_path = os.path.join(builddir, entry)
+ # We expect a flat structure, not subdirectories
+ assert(os.path.isfile(full_path))
+ if full_path != tarfile:
+ package_dir = namer.linux_packages_directory(revision)
+ remote_file = '/'.join([package_dir,
+ os.path.basename(entry)])
+ gsutil.upload(full_path, remote_file, public=True)
+
+
+if __name__ == '__main__':
+ bot_name, _ = bot.GetBotName()
+ channel = bot_utils.GetChannelFromName(bot_name)
+ if channel != bot_utils.Channel.BLEEDING_EDGE:
+ builddir = os.path.join(bot_utils.DART_DIR,
+ utils.GetBuildDir(HOST_OS),
+ 'src_and_installation')
+ version = utils.GetVersion()
+ tarfilename = 'dart-%s.tar.gz' % version
+ tarfile = os.path.join(builddir, tarfilename)
+ ArchiveArtifacts(tarfile, builddir, channel)
+ else:
+ print 'Not uploading artifacts on bleeding edge'
diff --git a/tools/run_debian_build.sh b/tools/run_debian_build.sh
new file mode 100755
index 0000000..66e7d5d
--- /dev/null
+++ b/tools/run_debian_build.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+# Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
+# for details. All rights reserved. Use of this source code is governed by a
+# BSD-style license that can be found in the LICENSE file.
+set -x
+
+ninja=$(which ninja)
+depot_tools=$(dirname $ninja)
+cmd="apt-get update && apt-get -y install build-essential debhelper git python\
+ && PATH=\"$depot_tools:\$PATH\"\
+ python tools/bots/linux_distribution_support.py"
+image="launcher.gcr.io/google/debian8:latest"
+docker run -e BUILDBOT_BUILDERNAME -v $depot_tools:$depot_tools\
+ -v `pwd`:`pwd` -w `pwd` -i --rm $image bash -c "$cmd"
diff --git a/tools/utils.py b/tools/utils.py
index a897eb1..a6db548 100644
--- a/tools/utils.py
+++ b/tools/utils.py
@@ -458,12 +458,12 @@
return fd.read()
except:
pass
-
- p = subprocess.Popen(['git', 'log', '-n', '1', '--pretty=format:%H'],
+ p = subprocess.Popen(['git', 'rev-parse', 'HEAD'],
stdout = subprocess.PIPE,
stderr = subprocess.STDOUT, shell=IsWindows(),
cwd = DART_DIR)
output, _ = p.communicate()
+ output = output.strip()
# We expect a full git hash
if len(output) != 40:
print "Warning: could not parse git commit, output was %s" % output
@@ -472,11 +472,12 @@
def GetShortGitHash():
- p = subprocess.Popen(['git', 'log', '-n', '1', '--pretty=format:%h'],
+ p = subprocess.Popen(['git', '--short', 'rev-parse', 'HEAD'],
stdout = subprocess.PIPE,
stderr = subprocess.STDOUT, shell=IsWindows(),
cwd = DART_DIR)
output, _ = p.communicate()
+ output = output.strip()
if p.wait() != 0:
return None
return output