def packaging(configurator, options, buildout_slave_path, environ=()): """Final steps for upload after testing of tarball. See :func:`postdownload.packaging` for explanation of options. """ archive_name_interp = options['packaging.prefix'] + '-%(buildout-tag)s' upload_dir = options['packaging.upload-dir'] master_dir = os.path.join('/var/www/livraison', upload_dir) master_path = os.path.join(master_dir, archive_name_interp + '.tar.bz2') base_url = options['packaging.base-url'] return [ FileUpload( slavesrc=WithProperties( '../dist/' + archive_name_interp + '.tar.bz2'), masterdest=WithProperties(master_path), url='/'.join((base_url, upload_dir)), mode=0644, ), FileUpload( slavesrc=WithProperties( '../dist/' + archive_name_interp + '.tar.bz2.md5'), masterdest=WithProperties(master_path + '.md5'), url='/'.join((base_url, upload_dir)), mode=0644, ), ]
def add_package_build(type, factory, compile_command): build = '%(slavename)s' # Build cmd = compile_command + [type] factory.addStep(Compile(description = [type], descriptionDone = [type], command = cmd, warningPattern = warnPat)) # Get file name factory.addStep(FileUpload(slavesrc = type + '.txt', property = 'package_name')) # Get file src = '%(package_name)s' file = '/tmp/%(slavename)s/' + src step = FileUpload(slavesrc = WithProperties(src), masterdest = WithProperties(file)) step.haltOnFailure = True step.flunkOnFailure = True factory.addStep(step) # Publish cmd = WithProperties('/host/bin/publish build ' + file + \ ' %(slavename)s %(got_revision)s %(buildnumber)s') MasterShellCommand.haltOnFailure = True MasterShellCommand.flunkOnFailure = True step = MasterShellCommand(command = cmd, property = 'publish_path', url = (src, c['distURL'] + '%(publish_path)s'), name = 'publish ' + type) factory.addStep(step)
def __init__(self, yaml, **kwargs): self.yaml = yaml self.masterdest = mktemp() FileUpload.__init__(self, workersrc=self.yaml, masterdest=self.masterdest, haltOnFailure=True, hideStepIf=util.hideStepIfSuccess, **kwargs)
def start(self): props = self.build.getProperties() upload_path = props.getProperty("upload_path") if not upload_path: upload_path = self.default_upload_path self.masterdest = upload_path + "/" + self.dest_filename FileUpload.start(self)
def start(self): if self.getProperty('release'): self.masterdest = '/var/www/TaskCoach-packages/release/%s' % self.getProperty('basefilename') FileUpload.start(self) if not self.getProperty('release'): url = 'http://www.fraca7.net/TaskCoach-packages/%s/%s' % (self.getProperty('branch') or '', self.getProperty('basefilename')) self.addURL('Download', url)
def testTimestamp(self): s = FileUpload(slavesrc=__file__, masterdest=self.destfile, keepstamp=True) s.build = Mock() s.build.getProperties.return_value = Properties() s.build.getSlaveCommandVersion.return_value = "2.13" s.step_status = Mock() s.buildslave = Mock() s.remote = Mock() s.start() timestamp = (os.path.getatime(__file__), os.path.getmtime(__file__)) for c in s.remote.method_calls: name, command, args = c commandName = command[3] kwargs = command[-1] if commandName == 'uploadFile': self.assertEquals(kwargs['slavesrc'], __file__) writer = kwargs['writer'] writer.remote_write(open(__file__, "rb").read()) self.assert_(not os.path.exists(self.destfile)) writer.remote_close() writer.remote_utime(timestamp) break else: self.assert_(False, "No uploadFile command found") desttimestamp = (os.path.getatime(self.destfile), os.path.getmtime(self.destfile)) self.assertAlmostEquals(timestamp[0], desttimestamp[0], places=5) self.assertAlmostEquals(timestamp[1], desttimestamp[1], places=5)
def testURL(self): s = FileUpload(slavesrc=__file__, masterdest=self.destfile, url="http://server/file") s.build = Mock() s.build.getProperties.return_value = Properties() s.build.getSlaveCommandVersion.return_value = "2.13" s.step_status = Mock() s.step_status.addURL = Mock() s.buildslave = Mock() s.remote = Mock() s.start() for c in s.remote.method_calls: name, command, args = c commandName = command[3] kwargs = command[-1] if commandName == 'uploadFile': self.assertEquals(kwargs['slavesrc'], __file__) writer = kwargs['writer'] writer.remote_write(open(__file__, "rb").read()) self.assert_(not os.path.exists(self.destfile)) writer.remote_close() break else: self.assert_(False, "No uploadFile command found") s.step_status.addURL.assert_called_once_with( os.path.basename(self.destfile), "http://server/file")
def testBasic(self): s = FileUpload(slavesrc=__file__, masterdest=self.destfile) s.build = Mock() s.build.getProperties.return_value = Properties() s.build.getSlaveCommandVersion.return_value = 1 s.step_status = Mock() s.buildslave = Mock() s.remote = Mock() s.start() for c in s.remote.method_calls: name, command, args = c commandName = command[3] kwargs = command[-1] if commandName == 'uploadFile': self.assertEquals(kwargs['slavesrc'], __file__) writer = kwargs['writer'] writer.remote_write(open(__file__, "rb").read()) self.assert_(not os.path.exists(self.destfile)) writer.remote_close() break else: self.assert_(False, "No uploadFile command found") self.assertEquals( open(self.destfile, "rb").read(), open(__file__, "rb").read())
def MakeMacBuilder(): f = BuildFactory() f.addSteps(svn_co) f.addStep( ShellCommand( name='revision', command=['bash', 'revision.sh'], workdir='build/os/macosx', haltOnFailure=True, env={'SCHAT_REVISION': Property('got_revision')}, )) f.addStep( ShellCommand( name='dmg', command=['bash', 'deploy.sh'], workdir='build/os/macosx', haltOnFailure=True, )) f.addStep( FileUpload( mode=0644, slavesrc=WithProperties( 'os/macosx/dmg/SimpleChat2-%(version)s.dmg'), masterdest=UploadFileName('SimpleChat2-%(version)s%(suffix)s.dmg'), url=WithProperties( 'https://download.schat.me/schat2/snapshots/%(version)s/r%(got_revision)s/SimpleChat2-%(version)s%(suffix)s.dmg' ), ))
def MakeDebBuilder(): f = BuildFactory() f.addSteps(svn_co) f.addStep( ShellCommand( name='revision', command=['bash', 'revision.sh'], workdir='build/os/ubuntu', haltOnFailure=True, env={'SCHAT_REVISION': Property('got_revision')}, )) f.addStep( ShellCommand( name='deb', command=['bash', 'build.sh'], workdir='build/os/ubuntu', env={'SCHAT_VERSION': SCHAT_VERSION}, haltOnFailure=True, )) f.addStep( FileUpload( mode=0644, slavesrc=WithProperties( 'os/ubuntu/deb/schat2_%(version)s-1~%(codename)s_%(arch)s.deb' ), masterdest=UploadFileName( 'schat2_%(version)s-1~%(codename)s%(suffix)s_%(arch)s.deb'), url=WithProperties( 'https://download.schat.me/schat2/snapshots/%(version)s/r%(got_revision)s/schat2_%(version)s-1~%(codename)s%(suffix)s_%(arch)s.deb' ), ))
def initFactory(self,arch): f = GNUAutoconf(SVN("http://svn.cri.ensmp.fr/svn/linear/trunk"), test=None, configureFlags=self.configure_flags) if arch == "linux-64": f.addStep(FileUpload(slavesrc=os.path.join("BUILD",self.targz), masterdest=self.www+self.targz, mode=0644)) return f
def testBasic(self): s = FileUpload(slavesrc=__file__, masterdest=self.destfile) s.build = Mock() s.build.getProperties.return_value = Properties() s.build.getSlaveCommandVersion.return_value = 1 s.step_status = Mock() s.buildslave = Mock() s.remote = Mock() s.start() for c in s.remote.method_calls: name, command, args = c commandName = command[3] kwargs = command[-1] if commandName == 'uploadFile': self.assertEquals(kwargs['slavesrc'], __file__) writer = kwargs['writer'] writer.remote_write(open(__file__, "rb").read()) self.assert_(not os.path.exists(self.destfile)) writer.remote_close() break else: self.assert_(False, "No uploadFile command found") self.assertEquals(open(self.destfile, "rb").read(), open(__file__, "rb").read())
def testTimestamp(self): s = FileUpload(slavesrc=__file__, masterdest=self.destfile, keepstamp=True) s.build = Mock() s.build.getProperties.return_value = Properties() s.build.getSlaveCommandVersion.return_value = "2.13" s.step_status = Mock() s.buildslave = Mock() s.remote = Mock() s.start() timestamp = ( os.path.getatime(__file__), os.path.getmtime(__file__) ) for c in s.remote.method_calls: name, command, args = c commandName = command[3] kwargs = command[-1] if commandName == 'uploadFile': self.assertEquals(kwargs['slavesrc'], __file__) writer = kwargs['writer'] writer.remote_write(open(__file__, "rb").read()) self.assert_(not os.path.exists(self.destfile)) writer.remote_close() writer.remote_utime(timestamp) break else: self.assert_(False, "No uploadFile command found") desttimestamp = ( os.path.getatime(self.destfile), os.path.getmtime(self.destfile) ) self.assertAlmostEquals(timestamp[0],desttimestamp[0],places=5) self.assertAlmostEquals(timestamp[1],desttimestamp[1],places=5)
def get_upload_step(abi, arch, file): do_step = True if abi in ('cp27-cp27m', 'cp34-cp34m', 'cp35-cp35m'): do_step = is_branch('release/1.10.x') return FileUpload( name="upload " + arch + " " + abi, workersrc=file, masterdest=Interpolate("%s/%s", common.upload_dir, file), mode=0o664, haltOnFailure=True, doStepIf=do_step)
def initFactory(self,arch): self.make = "gmake" if arch == "bsd-64" else "make" f = GNUAutoconf( SVN("http://svn.cri.ensmp.fr/svn/pips/trunk"), configureFlags=self.configure_flags, compile=[self.make, "all"], test=None, install=[self.make, "install"], distcheck=None #[self.make, "distcheck"] ) if arch == "linux-64": f.addStep(FileUpload(slavesrc=os.path.join("BUILD",self.targz), masterdest=self.www+self.targz, mode=0644)) return f
def AddUploadPerfExpectations(self, factory_properties=None): """Adds a step to the factory to upload perf_expectations.json to the master. """ perf_id = factory_properties.get('perf_id') if not perf_id: logging.error('Error: cannot upload perf expectations: perf_id is unset') return slavesrc = 'src/tools/perf_expectations/perf_expectations.json' masterdest = ('../../scripts/master/log_parser/perf_expectations/%s.json' % perf_id) self._factory.addStep(FileUpload(slavesrc=slavesrc, masterdest=masterdest))
def finished(self, result): if self._descDone is None: self.descriptionDone = [ '<a href="builders/%s/builds/%s/output">output</a>' % (urllib.quote(self.getProperty('buildername'), safe=''), self.getProperty('buildnumber')) ] self.step_status.setText(self.descriptionDone) if not self.cmd.rc: self.step_status.addURL( self._dest, 'builders/%s/builds/%s/output/%s' % (urllib.quote(self.getProperty('buildername'), safe=''), self.getProperty('buildnumber'), self._dest)) return FileUpload.finished(self, result)
def run_testament(platform): test_url = "test-data/{buildername[0]}/{got_revision[0][nim]}/" test_directory = 'public_html/' + test_url html_test_results = 'testresults.html' html_test_results_dest = gen_dest_filename(html_test_results) db_test_results = 'testament.db' db_test_results_dest = gen_dest_filename(db_test_results) return [ ShellCommand(command=['koch', 'test'], workdir=str(platform.nim_dir), env=platform.base_env, haltOnFailure=True, timeout=None, **gen_description('Run', 'Running', 'Run', 'Testament')), MasterShellCommand( command=['mkdir', '-p', FormatInterpolate(test_directory)], path="public_html", hideStepIf=True), FileUpload( slavesrc=html_test_results, workdir=str(platform.nim_dir), url=FormatInterpolate(test_url + html_test_results_dest), masterdest=FormatInterpolate(test_directory + html_test_results_dest), ), FileUpload( slavesrc=db_test_results, workdir=str(platform.nim_dir), url=FormatInterpolate(test_url + db_test_results_dest), masterdest=FormatInterpolate(test_directory + db_test_results_dest), ) ]
def finished(self, result): if result == SUCCESS: mdest = self.masterdest ext = mdest[-3:] bname = mdest.split("/")[-1] if mdest.startswith(PUB_PREFIX): reldest = mdest[len(PUB_PREFIX):] if ext in IMAGE_FORMATS: l = ['<a href="/%s"><img src="/%s"></a>' % (reldest, reldest)] else: l = [] self.addURL(bname, "/" + reldest) else: l = [bname] self.step_status.setText(['Uploaded'] + l) return FileUpload.finished(self, result)
def MakeWinLegacyBuilder(): f = BuildFactory() f.addSteps(svn_co_legacy) f.addStep( ShellCommand( name='revision', command=['cmd', '/c', 'revision.cmd'], workdir='build/os/win32', env={ 'SCHAT_VERSION': SCHAT_VERSION_LEGACY, 'SCHAT_REVISION': Property('got_revision') }, haltOnFailure=True, )) f.addStep( ShellCommand( name='qmake', command=['qmake', '-r'], haltOnFailure=True, )) f.addStep(Compile( command=['jom', '-j3', '/NOLOGO'], haltOnFailure=True, )) f.addStep( ShellCommand( name='nsis', command=['cmd', '/c', 'nsis.cmd'], workdir='build/os/win32', env={ 'SCHAT_SIGN_FILE': schat_passwords.SIGN_FILE, 'SCHAT_SIGN_PASSWORD': schat_passwords.SIGN_PASSWORD, 'SCHAT_VERSION': SCHAT_VERSION_LEGACY, 'SCHAT_REVISION': Property('got_revision') }, haltOnFailure=True, logEnviron=False, )) f.addStep( FileUpload( mode=0644, slavesrc=WithProperties( 'os/win32/out/schat-%(version_legacy)s.%(got_revision)s.exe'), masterdest=UploadFileNameLegacy( 'schat-%(version_legacy)s.%(got_revision)s.exe'), ))
def MakeMacLegacyBuilder(): f = BuildFactory() f.addSteps(svn_co_legacy) f.addStep( ShellCommand( name='dmg', command=['bash', 'deploy.sh'], workdir='build/os/macosx', haltOnFailure=True, )) f.addStep( FileUpload( mode=0644, slavesrc=WithProperties( 'os/macosx/dmg/SimpleChat-%(version_legacy)s.dmg'), masterdest=UploadFileNameLegacy( 'SimpleChat-%(version_legacy)s.dmg'), ))
def MakeWinBuilder(): f = BuildFactory() f.addSteps(svn_co) f.addStep( ShellCommand( name='revision', command=['cmd', '/c', 'revision.cmd'], workdir='build/os/win32', env={'SCHAT_REVISION': Property('got_revision')}, haltOnFailure=True, )) f.addStep( ShellCommand( name='qmake', command=['qmake', '-r'], haltOnFailure=True, )) f.addStep(Compile( command=['jom', '-j3', '/NOLOGO'], haltOnFailure=True, )) f.addStep( ShellCommand( name='nsis', command=['cmd', '/c', 'nsis.cmd'], workdir='build/os/win32', env={ 'SCHAT_SIGN_FILE': schat_passwords.SIGN_FILE, 'SCHAT_SIGN_PASSWORD': schat_passwords.SIGN_PASSWORD, 'SCHAT_VERSION': SCHAT_VERSION, 'SCHAT_REVISION': Property('got_revision') }, haltOnFailure=True, logEnviron=False, )) f.addStep( FileUpload( mode=0644, slavesrc=WithProperties('os/win32/out/schat2-%(version)s.exe'), masterdest=UploadFileName('schat2-%(version)s%(suffix)s.exe'), url=WithProperties( 'https://download.schat.me/schat2/snapshots/%(version)s/r%(got_revision)s/schat2-%(version)s%(suffix)s.exe' ), ))
def gen_x64_full_factory (svnURL): x64_full_factory = factory.BuildFactory() x64_full_factory.addStep(SVN, workdir=r'build',svnurl=svnURL,username='******',password="******") x64_full_factory.addStep(Compile, workdir=r'build\\VS2005', description=['64-bit compile'], descriptionDone=['64-bit compile'], command=['build_x64.bat']) x64_full_factory.addStep(ShellCommand, workdir=r'build\\VS2005', name='installer', haltOnFailure=True, description=['building installer'], descriptionDone=['installer'], command=['iscc.exe', '/Fgridlabd_x64-release', 'gridlabd-64.iss']) x64_full_factory.addStep(FileUpload( workdir=r'build\\VS2005\\x64\\Release', slavesrc='gridlabd_x64-release.exe', masterdest='gridlabd_x64-release.exe')) return x64_full_factory
def gen_win32_full_factory (svnURL): win32_full2_factory = factory.BuildFactory() win32_full2_factory.addStep(SVN, workdir=r'build',svnurl=svnURL,username='******',password="******") win32_full2_factory.addStep(Compile, workdir=r'build\\VS2005', description=['32-bit compile'], descriptionDone=['32-bit compile'], command=['MSBuild', 'gridlabd.sln', '/t:Rebuild', '/p:Platform=Win32;Configuration=Release', '/nologo']) win32_full2_factory.addStep(ShellCommand, workdir=r'build\\VS2005', name='installer', haltOnFailure=True, description=['building installer'], descriptionDone=['installer'], command=['iscc.exe', '/Fgridlabd-release', 'gridlabd.iss']) win32_full2_factory.addStep(FileUpload( workdir=r'build\\VS2005\\Win32\\Release', slavesrc='gridlabd-release.exe', masterdest='gridlabd-release.exe')) return win32_full2_factory
def upload_release(platform): upload_url = "test-data/{buildername[0]}/{got_revision[0][nim]}/" test_directory = 'public_html/' + upload_url nim_exe_source = str(platform.nim_dir / "bin" / platform.nim_exe) nim_exe_dest = gen_dest_filename(platform.nim_exe) return [ MasterShellCommand( command=['mkdir', '-p', FormatInterpolate(test_directory)], path="public_html", hideStepIf=True), FileUpload( slavesrc=nim_exe_source, workdir=str(platform.nim_dir), url=FormatInterpolate(upload_url + nim_exe_dest), masterdest=FormatInterpolate(test_directory + nim_exe_dest), ), ]
def add_broot_steps(factory, arch, branch, env={}): factory.addStep( ShellCommand(command=["./osbuild", "broot", "clean"], description="cleaning", descriptionDone="clean", haltOnFailure=True, env=env)) command = ["./osbuild", "broot", "create", "--arch=%s" % arch] factory.addStep( ShellCommand(command=command, description="creating", descriptionDone="create", haltOnFailure=True, env=env)) factory.addStep( ShellCommand(command=["./osbuild", "broot", "distribute"], description="distributing", descriptionDone="distribute", haltOnFailure=True, env=env)) broot_dir = "~/public_html/broot/" broot_filename = "%(prop:buildername)s-%(prop:buildnumber)s.tar.xz" masterdest = Interpolate(os.path.join(broot_dir, broot_filename)) factory.addStep( FileUpload(slavesrc="build/sugar-build-broot.tar.xz", masterdest=masterdest)) command = Interpolate("%s %s %s %s %s" % (get_command_path("release-broot"), broot_dir, broot_filename, arch, branch)) factory.addStep( MasterShellCommand(command=command, description="releasing", descriptionDone="release"))
def MakeSrcBuilder(): f = BuildFactory() f.addSteps(svn_co) f.addStep( ShellCommand( name='tarball', command=['bash', 'os/source/tarball.sh'], env={ 'SCHAT_SOURCE': WithProperties('schat2-src-%(version)s%(suffix)s') }, haltOnFailure=True, )) f.addStep( FileUpload( mode=0644, slavesrc=WithProperties( 'schat2-src-%(version)s%(suffix)s.tar.bz2'), masterdest=UploadFileName( 'schat2-src-%(version)s%(suffix)s.tar.bz2'), url=WithProperties( 'https://download.schat.me/schat2/snapshots/%(version)s/r%(got_revision)s/schat2-src-%(version)s%(suffix)s.tar.bz2' ), ))
def launchpad_debbuild(c, package, version, binaries, url, distro, arch, machines, othermirror, keys, trigger_names = None): f = BuildFactory() # Grab the source package f.addStep( ShellCommand( haltOnFailure = True, name = package+'-getsourcedeb', command = ['dget', '--allow-unauthenticated', url] ) ) # download hooks f.addStep( FileDownload( name = package+'-grab-hooks', mastersrc = 'hooks/D05deps', slavedest = Interpolate('%(prop:workdir)s/hooks/D05deps'), hideStepIf = success, mode = 0777 # make this executable for the cowbuilder ) ) # Update the cowbuilder f.addStep( ShellCommand( command = ['cowbuilder-update.py', distro, arch] + keys, hideStepIf = success ) ) # Build it f.addStep( ShellCommand( haltOnFailure = True, name = package+'-build', command = ['cowbuilder', '--build', package+'_'+version+'.dsc', '--distribution', distro, '--architecture', arch, '--basepath', '/var/cache/pbuilder/base-'+distro+'-'+arch+'.cow', '--buildresult', Interpolate('%(prop:workdir)s'), '--hookdir', Interpolate('%(prop:workdir)s/hooks'), '--othermirror', othermirror, '--override-config'], env = {'DIST': distro}, descriptionDone = ['built binary debs', ] ) ) # Upload debs for deb_arch in binaries.keys(): for deb_name in binaries[deb_arch]: debian_pkg = deb_name+'_'+version+'_'+deb_arch+'.deb' f.addStep( FileUpload( name = deb_name+'-upload', slavesrc = Interpolate('%(prop:workdir)s/'+debian_pkg), masterdest = Interpolate('binarydebs/'+debian_pkg), hideStepIf = success ) ) # Add the binarydeb using reprepro updater script on master f.addStep( MasterShellCommand( name = deb_name+'-include', command = ['reprepro-include.bash', deb_name, Interpolate(debian_pkg), distro, deb_arch], descriptionDone = ['updated in apt', debian_pkg] ) ) # Trigger if needed if trigger_names != None: f.addStep( Trigger(schedulerNames = trigger_names, waitForFinish = False) ) # Add to builders c['builders'].append( BuilderConfig( name = package+'_'+distro+'_'+arch+'_debbuild', slavenames = machines, factory = f ) ) # return name of builder created return package+'_'+distro+'_'+arch+'_debbuild'
def __init__(self, **kwargs): kwargs['slavesrc'] = WithProperties('dist/TaskCoach-r%s.dmg', 'got_revision') kwargs['masterdest'] = WithProperties('/var/www/htdocs/TaskCoach-packages/TaskCoach-r%s.dmg', 'got_revision') kwargs['mode'] = 0644 FileUpload.__init__(self, **kwargs)
def __init__(self, *args, **kwargs): FileUpload.__init__(self, *args, **kwargs) self._dest = self.masterdest self._descDone = kwargs.get('descriptionDone')
def __init__(self, **kwargs): kwargs['slavesrc'] = 'changelog_content' kwargs['masterdest'] = WithProperties('/var/www/TaskCoach-packages/%s/changelog_content', 'branch') kwargs['mode'] = 0644 FileUpload.__init__(self, **kwargs)
# Build the installer. ShellCommand(name="package", command=package_cmd, haltOnFailure=True, doStepIf=lambda step:not step.getProperty("optimize", False)), # And the test scripts for deploy-ng. #Test(name="build_samples", command=test_deployng_cmd, doStepIf=is_branch("deploy-ng"), haltOnFailure=True), ] # Define a global lock, since reprepro won't allow simultaneous access to the repo. repo_lock = MasterLock('reprepro') # Steps to publish the runtime and SDK. publish_deb_steps = [ # Upload the deb package. FileUpload(workersrc=deb_filename, masterdest=deb_upload_filename, mode=0o664, haltOnFailure=True, doStepIf=lambda step:not step.getProperty("optimize", False)), # Create a torrent file and start seeding it. #MakeTorrent(deb_upload_filename), #SeedTorrent(deb_upload_filename), # Upload it to an apt repository. MasterShellCommand(name="reprepro", command=[ "reprepro", "-b", deb_archive_dir, "includedeb", deb_archive_suite, deb_upload_filename], locks=[repo_lock.access('exclusive')], doStepIf=lambda step:not step.getProperty("optimize", False)), ] # Now make the factories. deb_factory = BuildFactory()
command=[ python_executable, "makepanda/makewheel.py", "--outputdir", outputdir, "--version", whl_version, "--platform", Interpolate("macosx-%(prop:osxtarget)s-i386"), "--verbose" ], haltOnFailure=True), ShellCommand( name="makewheel", command=[ python_executable, "makepanda/makewheel.py", "--outputdir", outputdir, "--version", whl_version, "--platform", Interpolate("macosx-%(prop:osxtarget)s-x86_64"), "--verbose" ], haltOnFailure=True), FileUpload(slavesrc=whl_filename32, masterdest=whl_upload_filename32, mode=0o664, haltOnFailure=True), FileUpload(slavesrc=whl_filename64, masterdest=whl_upload_filename64, mode=0o664, haltOnFailure=True), ] publish_dmg_steps = [ FileUpload(slavesrc=dmg_filename, masterdest=dmg_upload_filename, mode=0o664, haltOnFailure=True), MakeTorrent(dmg_upload_filename), SeedTorrent(dmg_upload_filename), ]
def __init__(self, **kwargs): kwargs['slavesrc'] = WithProperties('dist/%s' % self.filename(), 'got_revision') kwargs['masterdest'] = WithProperties('/var/www/htdocs/TaskCoach-packages/%%s/%s' % self.filename(), 'branch', 'got_revision') kwargs['mode'] = 0644 FileUpload.__init__(self, **kwargs)
haltOnFailure=True), # Invoke makepanda. Compile(command=build_cmd, haltOnFailure=True, env={'PYTHONPATH': python_path}), ] # Define a global lock, since reprepro won't allow simultaneous access to the repo. repo_lock = MasterLock('reprepro') # Steps to publish the runtime and SDK. publish_deb_steps = [ # Upload the deb package. FileUpload(slavesrc=deb_filename, masterdest=deb_upload_filename, mode=0o664, haltOnFailure=True), # Create a torrent file and start seeding it. MakeTorrent(deb_upload_filename), SeedTorrent(deb_upload_filename), # Upload it to an apt repository. MasterShellCommand(name="reprepro", command=[ "reprepro", "-b", deb_archive_dir, "includedeb", deb_archive_suite, deb_upload_filename ], locks=[repo_lock.access('exclusive')]), ]
def start(self): FileUpload.start(self) self.addURL('See', 'http://www.fraca7.net/pylint-%s.html' % self.getProperty('buildername'))
def __init__(self, **kwargs): kwargs['slavesrc'] = 'pylint.html' kwargs['masterdest'] = WithProperties('/var/www/pylint-%s.html', 'buildername') kwargs['mode'] = 0644 FileUpload.__init__(self, **kwargs)
whl_filename = get_whl_filename(abi, 'universal2') build_steps_11_0 += [ get_build_step(abi), get_test_step(abi), get_makewheel_step(abi, 'universal2'), get_upload_step(abi, 'universal2', whl_filename), ShellCommand(name="rm "+abi, command=['rm', '-f', whl_filename], haltOnFailure=False), ] # Build and upload the installer. package_steps = [ ShellCommand(name="package", command=package_cmd, haltOnFailure=True), FileUpload(name="upload dmg", workersrc=get_dmg_filename(), masterdest=get_dmg_upload_filename(), mode=0o664, haltOnFailure=True), ] build_steps_10_6 += package_steps build_steps_10_9 += package_steps def macosx_builder(osxver): if osxver in ('10.6', '10.7', '10.8'): workernames = config.macosx_10_6_workers buildsteps = build_steps_10_6 elif osxver.startswith('11.'): workernames = config.macosx_11_0_workers buildsteps = build_steps_11_0 else: workernames = config.macosx_10_9_workers
def start(self): self.masterdest = '%s/%s-output-%s' % (self.getProperty('buildername'), self.getProperty('buildnumber'), self._dest) return FileUpload.start(self)
def __init__(self, default_upload_path, dest_filename, *args, **kwargs): FileUpload.__init__(self, masterdest="", *args, **kwargs) self.default_upload_path = default_upload_path self.dest_filename = dest_filename
f.addStep( ShellCommand( haltOnFailure=True, name=package + '-buildsource', command=[ Interpolate('%(prop:workdir)s/build_source_deb.py'), rosdistro, package, Interpolate('%(prop:release_version)s'), Interpolate('%(prop:workdir)s') ] + gbp_args, descriptionDone=['sourcedeb', package])) # Upload sourcedeb to master (currently we are not actually syncing these with a public repo) f.addStep( FileUpload( name=package + '-uploadsource', slavesrc=Interpolate('%(prop:workdir)s/' + deb_name + '.dsc'), masterdest=Interpolate('sourcedebs/' + deb_name + '.dsc'), hideStepIf=success)) # Stamp the changelog, in a similar fashion to the ROS buildfarm f.addStep( SetPropertyFromCommand(command="date +%Y%m%d-%H%M-%z", property="datestamp", name=package + '-getstamp', hideStepIf=success)) f.addStep( ShellCommand( haltOnFailure=True, name=package + '-stampdeb', command=[ 'gbp', 'dch', '-a', '--ignore-branch', '--verbose', '-N', Interpolate('%(prop:release_version)s-%(prop:datestamp)s' +
def __init__(self, **kwargs): kwargs['slavesrc'] = WithProperties('%s', 'filename') kwargs['masterdest'] = WithProperties('/var/www/TaskCoach-packages/%s/%s', 'branch', 'basefilename') kwargs['mode'] = 0644 FileUpload.__init__(self, **kwargs)