dart-sdk/tools/bots/upload_debian_packages.py
Alexander Thomas 567d552de8 [infra] Add versionchecker and debianpackage to test matrix
* Run Debian package creation in a Docker container.
* Upload archives from Docker host (the container lacks credentials).
* Remove BUILDBOT_BUILDERNAME environment variables from test matrix:
  They are overwritten in the recipe.

Change-Id: I90d7747e64231bdb745c85030a9cecf256adbaf0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/94542
Reviewed-by: William Hesse <whesse@google.com>
2019-03-11 12:52:03 +00:00

54 lines
1.7 KiB
Python
Executable file

#!/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'