Index: tools/bots/src-tarball.py |
=================================================================== |
--- tools/bots/src-tarball.py (revision 34155) |
+++ tools/bots/src-tarball.py (working copy) |
@@ -1,92 +0,0 @@ |
-#!/usr/bin/python |
- |
-# Copyright (c) 2014, 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. |
- |
-""" |
-Buildbot steps for src tarball generation and debian package generation |
- |
-Package up the src of the dart repo and create a debian package. |
-Archive tarball and debian package to google cloud storage. |
-""" |
- |
-import os |
-import re |
-import sys |
- |
-import bot |
-import bot_utils |
- |
-utils = bot_utils.GetUtils() |
- |
-HOST_OS = utils.GuessOS() |
-SRC_BUILDER = r'src-tarball-linux-(debian_wheezy|ubuntu_precise)' |
- |
-def SrcConfig(name, is_buildbot): |
- """Returns info for the current buildbot based on the name of the builder. |
- |
- Currently, since we only run this on linux, this is just: |
- - mode: always "release" |
- - system: always "linux" |
- """ |
- src_pattern = re.match(SRC_BUILDER, name) |
- if not src_pattern: |
- return None |
- return bot.BuildInfo('none', 'none', 'release', 'linux', |
- builder_tag=src_pattern.group(1)) |
- |
-def ArchiveArtifacts(tarfile, builddir, channel, linux_system): |
- namer = bot_utils.GCSNamer(channel=channel) |
- gsutil = bot_utils.GSUtil() |
- revision = utils.GetSVNRevision() |
- # 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, linux_system) |
- remote_file = '/'.join([package_dir, |
- os.path.basename(entry)]) |
- gsutil.upload(full_path, remote_file, public=True) |
- |
-def SrcSteps(build_info): |
- # We always clobber the bot, to not leave old tarballs and packages |
- # floating around the out dir. |
- bot.Clobber(force=True) |
- version = utils.GetVersion() |
- builddir = os.path.join(bot_utils.DART_DIR, |
- utils.GetBuildDir(HOST_OS, HOST_OS), |
- 'src_and_installation') |
- if not os.path.exists(builddir): |
- os.makedirs(builddir) |
- tarfilename = 'dart-%s.tar.gz' % version |
- tarfile = os.path.join(builddir, tarfilename) |
- |
- with bot.BuildStep('Create src tarball'): |
- args = [sys.executable, './tools/create_tarball.py', '--tar_filename', |
- tarfile] |
- print 'Building src tarball' |
- bot.RunProcess(args) |
- print 'Building Debian packages' |
- args = [sys.executable, './tools/create_debian_packages.py', |
- '--tar_filename', tarfile, |
- '--out_dir', builddir] |
- bot.RunProcess(args) |
- |
- 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, build_info.builder_tag) |
- else: |
- print 'Not uploading artifacts on bleeding edge' |
- |
-if __name__ == '__main__': |
- # We pass in None for build_step to avoid building the sdk. |
- bot.RunBot(SrcConfig, SrcSteps, build_step=None) |