mirror of
https://github.com/dart-lang/sdk
synced 2024-10-14 18:31:32 +00:00
[infra] Build Linux ARM architectures in tools/bots/dart_sdk.py.
Change-Id: I0ab9a2c798bf95866f3139b2d3bf25fea5475a17 Reviewed-on: https://dart-review.googlesource.com/c/88327 Reviewed-by: William Hesse <whesse@google.com>
This commit is contained in:
parent
5a29552002
commit
0a0eac5038
|
@ -35,11 +35,10 @@ SYSTEM_RENAMES = {
|
|||
}
|
||||
|
||||
ARCH_RENAMES = {
|
||||
'32': 'ia32',
|
||||
'ia32': 'ia32',
|
||||
|
||||
'64': 'x64',
|
||||
'x64': 'x64',
|
||||
'arm': 'arm',
|
||||
'arm64': 'arm64',
|
||||
}
|
||||
|
||||
class Channel(object):
|
||||
|
|
|
@ -16,24 +16,31 @@ import bot_utils
|
|||
utils = bot_utils.GetUtils()
|
||||
|
||||
BUILD_OS = utils.GuessOS()
|
||||
BUILD_ARCHITECTURE = utils.GuessArchitecture()
|
||||
|
||||
(bot_name, _) = bot.GetBotName()
|
||||
CHANNEL = bot_utils.GetChannelFromName(bot_name)
|
||||
|
||||
def BuildArchitectures():
|
||||
if BUILD_OS == 'linux':
|
||||
return ['ia32', 'x64', 'arm', 'arm64']
|
||||
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)
|
||||
Run([sys.executable, './tools/build.py', '--mode=release',
|
||||
'--arch=ia32', 'create_sdk'])
|
||||
Run([sys.executable, './tools/build.py', '--mode=release',
|
||||
'--arch=x64', 'create_sdk'])
|
||||
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', 'ia32'),
|
||||
utils.GetBuildRoot(BUILD_OS, 'release',
|
||||
BUILD_ARCHITECTURE),
|
||||
'dart-sdk')
|
||||
dart_exe = os.path.join(dart_sdk, 'bin', 'dart')
|
||||
dartdoc_dart = os.path.join(bot_utils.DART_DIR,
|
||||
|
@ -49,7 +56,8 @@ def BuildDartdocAPIDocs(dirname):
|
|||
|
||||
def CreateUploadVersionFile():
|
||||
file_path = os.path.join(bot_utils.DART_DIR,
|
||||
utils.GetBuildRoot(BUILD_OS, 'release', 'ia32'),
|
||||
utils.GetBuildRoot(BUILD_OS, 'release',
|
||||
BUILD_ARCHITECTURE),
|
||||
'VERSION')
|
||||
with open(file_path, 'w') as fd:
|
||||
fd.write(utils.GetVersionFileContent())
|
||||
|
@ -64,49 +72,35 @@ def DartArchiveUploadVersionFile(version_file):
|
|||
|
||||
def CreateUploadSDKZips():
|
||||
with bot.BuildStep('Create and upload sdk zips'):
|
||||
sdk32_path = os.path.join(bot_utils.DART_DIR,
|
||||
utils.GetBuildRoot(BUILD_OS, 'release', 'ia32'),
|
||||
'dart-sdk')
|
||||
sdk64_path = os.path.join(bot_utils.DART_DIR,
|
||||
utils.GetBuildRoot(BUILD_OS, 'release', 'x64'),
|
||||
for arch in BuildArchitectures():
|
||||
sdk_path = os.path.join(bot_utils.DART_DIR,
|
||||
utils.GetBuildRoot(BUILD_OS, 'release', arch),
|
||||
'dart-sdk')
|
||||
sdk_zip = os.path.join(bot_utils.DART_DIR,
|
||||
utils.GetBuildRoot(BUILD_OS, 'release', arch),
|
||||
'dartsdk-%s-%s.zip' % (BUILD_OS, arch))
|
||||
FileDelete(sdk_zip)
|
||||
CreateZip(sdk_path, sdk_zip)
|
||||
DartArchiveUploadSDKs(BUILD_OS, arch, sdk_zip)
|
||||
|
||||
sdk32_zip = os.path.join(bot_utils.DART_DIR,
|
||||
utils.GetBuildRoot(BUILD_OS, 'release', 'ia32'),
|
||||
'dartsdk-%s-32.zip' % BUILD_OS)
|
||||
sdk64_zip = os.path.join(bot_utils.DART_DIR,
|
||||
utils.GetBuildRoot(BUILD_OS, 'release', 'x64'),
|
||||
'dartsdk-%s-64.zip' % BUILD_OS)
|
||||
FileDelete(sdk32_zip)
|
||||
FileDelete(sdk64_zip)
|
||||
CreateZip(sdk32_path, sdk32_zip)
|
||||
CreateZip(sdk64_path, sdk64_zip)
|
||||
DartArchiveUploadSDKs(BUILD_OS, sdk32_zip, sdk64_zip)
|
||||
|
||||
def DartArchiveUploadSDKs(system, sdk32_zip, sdk64_zip):
|
||||
def DartArchiveUploadSDKs(system, arch, sdk_zip):
|
||||
namer = bot_utils.GCSNamer(CHANNEL, bot_utils.ReleaseType.RAW)
|
||||
git_number = utils.GetArchiveVersion()
|
||||
git_hash = 'hash/%s' % utils.GetGitRevision()
|
||||
for revision in [git_number, git_hash, 'latest']:
|
||||
path32 = namer.sdk_zipfilepath(revision, system, 'ia32', 'release')
|
||||
path64 = namer.sdk_zipfilepath(revision, system, 'x64', 'release')
|
||||
DartArchiveFile(sdk32_zip, path32, checksum_files=True)
|
||||
DartArchiveFile(sdk64_zip, path64, checksum_files=True)
|
||||
path = namer.sdk_zipfilepath(revision, system, arch, 'release')
|
||||
DartArchiveFile(sdk_zip, path, checksum_files=True)
|
||||
|
||||
def DartArchiveUnstrippedBinaries():
|
||||
namer = bot_utils.GCSNamer(CHANNEL, bot_utils.ReleaseType.RAW)
|
||||
revision = utils.GetArchiveVersion()
|
||||
binary = namer.unstripped_filename(BUILD_OS)
|
||||
ia32_binary = os.path.join(bot_utils.DART_DIR,
|
||||
utils.GetBuildRoot(BUILD_OS, 'release', 'ia32'),
|
||||
binary)
|
||||
x64_binary = os.path.join(bot_utils.DART_DIR,
|
||||
utils.GetBuildRoot(BUILD_OS, 'release', 'x64'),
|
||||
binary)
|
||||
gs_ia32_path = namer.unstripped_filepath(revision, BUILD_OS, 'ia32')
|
||||
gs_x64_path = namer.unstripped_filepath(revision, BUILD_OS, 'x64')
|
||||
DartArchiveFile(ia32_binary, gs_ia32_path)
|
||||
DartArchiveFile(x64_binary, gs_x64_path)
|
||||
for arch in BuildArchitectures():
|
||||
binary = os.path.join(bot_utils.DART_DIR,
|
||||
utils.GetBuildRoot(BUILD_OS, 'release', arch),
|
||||
binary)
|
||||
gs_path = namer.unstripped_filepath(revision, BUILD_OS, arch)
|
||||
DartArchiveFile(binary, gs_path)
|
||||
|
||||
def CreateUploadSDK():
|
||||
BuildSDK()
|
||||
|
@ -114,12 +108,14 @@ def CreateUploadSDK():
|
|||
DartArchiveUnstrippedBinaries()
|
||||
|
||||
def CreateUploadAPIDocs():
|
||||
dartdoc_dir = os.path.join(bot_utils.DART_DIR,
|
||||
utils.GetBuildRoot(BUILD_OS, 'release', 'ia32'),
|
||||
'gen-dartdocs')
|
||||
dartdoc_zip = os.path.join(bot_utils.DART_DIR,
|
||||
utils.GetBuildRoot(BUILD_OS, 'release', 'ia32'),
|
||||
'dartdocs-api.zip')
|
||||
dartdoc_dir = os.path.join(bot_utils.DART_DIR,
|
||||
utils.GetBuildRoot(BUILD_OS, 'release',
|
||||
BUILD_ARCHITECTURE),
|
||||
'gen-dartdocs')
|
||||
dartdoc_zip = os.path.join(bot_utils.DART_DIR,
|
||||
utils.GetBuildRoot(BUILD_OS, 'release',
|
||||
BUILD_ARCHITECTURE),
|
||||
'dartdocs-api.zip')
|
||||
if CHANNEL == 'try':
|
||||
BuildDartdocAPIDocs(dartdoc_dir)
|
||||
else:
|
||||
|
|
Loading…
Reference in a new issue