[pypy-commit] buildbot default: Reorganize ARM building
bivab
noreply at buildbot.pypy.org
Mon Sep 10 13:47:56 CEST 2012
Author: David Schneider <david.schneider at picle.org>
Branch:
Changeset: r697:34a23b0234ea
Date: 2012-09-09 12:36 +0200
http://bitbucket.org/pypy/buildbot/changeset/34a23b0234ea/
Log: Reorganize ARM building
- kill armhf builder and hhu-qemu-armel buildslaves
- kill the own-linux-armhf, own-linux-armel and jitonly-own-linux-
armel builders
- separate building from running app level tests for ARM
- there are builders using the new nightly build factory that
translate and package pypy for ARM (with and without JIT) and upload
the result to the buildmaster
- the translation builders trigger schedulers for builders using
another new factory that downloads the corresponding build and runs
the app-level tests on it, these run directly on the ARM boards
- the ARM jit backend tests are run either on hhu-arm (using xdist to
send the tests to the boards) or on the boards directly
diff --git a/bot2/pypybuildbot/master.py b/bot2/pypybuildbot/master.py
--- a/bot2/pypybuildbot/master.py
+++ b/bot2/pypybuildbot/master.py
@@ -1,7 +1,7 @@
import os
import getpass
-from buildbot.scheduler import Nightly
+from buildbot.scheduler import Nightly, Triggerable
from buildbot.buildslave import BuildSlave
from buildbot.status.html import WebStatus
from buildbot.process.builder import Builder
@@ -49,7 +49,9 @@
pypybuilds = load('pypybuildbot.builds')
TannitCPU = pypybuilds.TannitCPU
WinLockCPU = pypybuilds.WinLockCPU
-ARMLockCPU = pypybuilds.ARMLockCPU
+ARMCrossLock = pypybuilds.ARMCrossLock
+ARMBoardLock = pypybuilds.ARMBoardLock
+ARMXdistLock = pypybuilds.ARMXdistLock
pypyOwnTestFactory = pypybuilds.Own()
pypyOwnTestFactoryWin = pypybuilds.Own(platform="win32")
@@ -174,33 +176,40 @@
timeout=6 * 3600)
pypyJitOnlyOwnTestFactoryARM = pypybuilds.Own(cherrypick="jit", timeout=2 * 3600)
pypyOwnTestFactoryARM = pypybuilds.Own(timeout=2*3600)
-pypyCrossTranslatedAppLevelTestFactoryARM = pypybuilds.Translated(
+pypyCrossTranslationFactoryARM = pypybuilds.NightlyBuild(
+ translationArgs=crosstranslationargs+['-O2'],
+ platform='linux-armel',
+ interpreter='pypy',
+ trigger='APPLVLLINUXARM_scheduler')
+
+pypyJITCrossTranslationFactoryARM = pypybuilds.NightlyBuild(
+ translationArgs=(crosstranslationargs
+ + jit_translation_args
+ + crosstranslationjitargs),
+ platform='linux-armel',
+ interpreter='pypy',
+ trigger='JITLINUXARM_scheduler')
+
+pypyARMJITTranslatedTestFactory = pypybuilds.TranslatedTests(
+ translationArgs=(crosstranslationargs
+ + jit_translation_args
+ + crosstranslationjitargs),
+ lib_python=True,
+ pypyjit=True,
+ app_tests=True,
+ platform='linux-armel',
+ )
+pypyARMTranslatedAppLevelTestFactory = pypybuilds.TranslatedTests(
translationArgs=crosstranslationargs+['-O2'],
lib_python=True,
app_tests=True,
platform='linux-armel',
- interpreter='pypy',
- prefix='schroot -c precise_arm --')
-
-pypyJITCrossTranslatedTestFactoryARM = pypybuilds.Translated(
- translationArgs=(crosstranslationargs
- +jit_translation_args
- +crosstranslationjitargs),
- targetArgs=[],
- lib_python=True,
- pypyjit=True,
- app_tests=True,
- platform='linux-armel',
- interpreter='pypy',
- prefix='schroot -c precise_arm --'
- )
+)
#
LINUX32 = "own-linux-x86-32"
LINUX64 = "own-linux-x86-64"
LINUXPPC64 = "own-linux-ppc-64"
-LINUXARMHF = "own-linux-armhf"
-LINUXARMEL = "own-linux-armel"
MACOSX32 = "own-macosx-x86-32"
WIN32 = "own-win-x86-32"
@@ -223,14 +232,17 @@
JITFREEBSD64 = 'pypy-c-jit-freebsd-7-x86-64'
JITONLYLINUX32 = "jitonly-own-linux-x86-32"
-JITONLYLINUXARMEL = "jitonly-own-linux-armel"
JITBACKENDONLYLINUXARMEL = "jitbackendonly-own-linux-armel"
+JITBACKENDONLYLINUXARMELXDIST = "jitbackendonly-own-linux-armel-xdist"
JITONLYLINUXPPC64 = "jitonly-own-linux-ppc-64"
JITBENCH = "jit-benchmark-linux-x86-32"
JITBENCH64 = "jit-benchmark-linux-x86-64"
JITBENCH64_2 = 'jit-benchmark-linux-x86-64-2'
CPYTHON_64 = "cpython-2-benchmark-x86-64"
+# build only
+BUILDLINUXARM = "build-pypy-c-linux-armel"
+BUILDJITLINUXARM = "build-pypy-c-jit-linux-armel"
BuildmasterConfig = {
'slavePortnum': slavePortnum,
@@ -300,16 +312,24 @@
Nightly("nighly-4-00-py3k", [
LINUX32, # on tannit32, uses 4 cores
], branch='py3k', hour=4, minute=0),
- Nightly("nighly-arm-0-00", [
- JITBACKENDONLYLINUXARMEL, # on hhu-arm, uses beagleboard and imx.53
- APPLVLLINUXARM, # on hhu-cross-arm, uses 1 core ~ 5 hours
- JITLINUXARM, # on hhu-cross-arm, uses 1 core ~ 5 hours
- JITONLYLINUXARMEL, # on hhu-qemu-armel
- ], branch=None, hour=0, minute=0),
+ #
Nightly("nighly-ppc", [
JITONLYLINUXPPC64, # on gcc1
], branch='ppc-jit-backend', hour=1, minute=0),
-
+ #
+ Nightly("nighly-arm-0-00", [
+ BUILDLINUXARM, # on hhu-cross-arm, uses 1 core
+ BUILDJITLINUXARM, # on hhu-cross-arm, uses 1 core
+ JITBACKENDONLYLINUXARMEL, # on hhu-beagleboard or hhu-imx.53
+ JITBACKENDONLYLINUXARMELXDIST, # on hhu-arm, uses hhu-beagleboard or hhu-imx.53
+ ], branch=None, hour=0, minute=0),
+ #
+ Triggerable("APPLVLLINUXARM_scheduler", [
+ APPLVLLINUXARM, # triggered by BUILDLINUXARM, on hhu-beagleboard or hhu-imx.53
+ ]),
+ Triggerable("JITLINUXARM_scheduler", [
+ JITLINUXARM, # triggered by BUILDJITLINUXARM, on hhu-beagleboard or hhu-imx.53
+ ]),
],
'status': [status, ircbot],
@@ -489,48 +509,49 @@
},
# ARM
# armel
- {"name": LINUXARMEL,
- "slavenames": ["hhu-qemu-armel"],
- "builddir": LINUXARMEL,
- "factory": pypyOwnTestFactoryARM,
+ {"name": JITBACKENDONLYLINUXARMELXDIST,
+ "slavenames": ['hhu-arm'],
+ "builddir": JITBACKENDONLYLINUXARMELXDIST ,
+ "factory": pypyJitBackendOnlyOwnTestFactoryARM,
"category": 'linux-armel',
- # this build needs 2 CPUs
- "locks": [ARMLockCPU.access('exclusive')],
- },
- {"name": JITONLYLINUXARMEL,
- "slavenames": ['hhu-qemu-armel'],
- "builddir": JITONLYLINUXARMEL,
- "factory": pypyJitOnlyOwnTestFactoryARM,
- "category": 'linux-armel',
- # this build needs 2 CPUs
- "locks": [ARMLockCPU.access('exclusive')],
- },
- {"name": APPLVLLINUXARM,
- "slavenames": ["hhu-cross-armel"],
- "builddir": APPLVLLINUXARM,
- "factory": pypyCrossTranslatedAppLevelTestFactoryARM,
- "category": "linux-armel",
- "locks": [ARMLockCPU.access('counting')],
- },
- {"name" : JITLINUXARM,
- "slavenames": ["hhu-cross-armel"],
- 'builddir' : JITLINUXARM,
- 'factory' : pypyJITCrossTranslatedTestFactoryARM,
- 'category' : 'linux-armel',
- "locks": [ARMLockCPU.access('counting')],
- },
+ "locks": [ARMXdistLock.access('exclusive'), ARMBoardLock.access('counting')],
+ },
{"name": JITBACKENDONLYLINUXARMEL,
- "slavenames": ['hhu-arm'],
+ "slavenames": ['hhu-beagleboard', 'hhu-i.mx53'],
"builddir": JITBACKENDONLYLINUXARMEL,
"factory": pypyJitBackendOnlyOwnTestFactoryARM,
"category": 'linux-armel',
- },
- # armhf
- {"name": LINUXARMHF,
- "slavenames": ["trystack-armhf"],
- "builddir": LINUXARMHF,
- "factory": pypyOwnTestFactory,
- "category": 'linux-armhf',
+ "locks": [ARMXdistLock.access('counting'), ARMBoardLock.access('counting')],
+ },
+ # app level builders
+ {"name": APPLVLLINUXARM,
+ "slavenames": ["hhu-beagleboard", "hhu-i.mx53"],
+ "builddir": APPLVLLINUXARM,
+ "factory": pypyARMTranslatedAppLevelTestFactory,
+ "category": "linux-armel",
+ "locks": [ARMXdistLock.access('counting'), ARMBoardLock.access('counting')],
+ },
+ {"name": JITLINUXARM,
+ "slavenames": ["hhu-beagleboard", "hhu-i.mx53"],
+ 'builddir': JITLINUXARM,
+ 'factory': pypyARMJITTranslatedTestFactory ,
+ 'category': 'linux-armel',
+ "locks": [ARMXdistLock.access('counting'), ARMBoardLock.access('counting')],
+ },
+ # Translation Builders for ARM
+ {"name": BUILDLINUXARM,
+ "slavenames": ['hhu-cross-arm'],
+ "builddir": BUILDLINUXARM,
+ "factory": pypyCrossTranslationFactoryARM,
+ "category": 'linux-armel',
+ "locks": [ARMCrossLock.access('counting')],
+ },
+ {"name": BUILDJITLINUXARM,
+ "slavenames": ['hhu-cross-arm'],
+ "builddir": BUILDJITLINUXARM,
+ "factory": pypyJITCrossTranslationFactoryARM,
+ "category": 'linux-armel',
+ "locks": [ARMCrossLock.access('counting')],
},
],
More information about the pypy-commit
mailing list