Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: m-labs/buildbot-config
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 91a6c949f7f3
Choose a base ref
...
head repository: m-labs/buildbot-config
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 62e752888079
Choose a head ref
  • 2 commits
  • 1 file changed
  • 1 contributor

Commits on Jan 19, 2018

  1. Add artiq-quick build factory.

    whitequark committed Jan 19, 2018
    Copy the full SHA
    66c73f2 View commit details
  2. Add infrastructure for quick builds.

    whitequark committed Jan 19, 2018
    Copy the full SHA
    62e7528 View commit details
Showing with 53 additions and 13 deletions.
  1. +53 −13 master.cfg
66 changes: 53 additions & 13 deletions master.cfg
Original file line number Diff line number Diff line change
@@ -138,7 +138,7 @@ def addUpdateSteps(factory, project):
mode = 'incremental',
progress = True))

def addCondaBuildSteps(factory, project, package, is_xilinx=False, test=True):
def addCondaBuildSteps(factory, project, package, is_xilinx=False, test=True, channel=None):
addUpdateSteps(factory, project)

factory.addStep(
@@ -165,8 +165,11 @@ def addCondaBuildSteps(factory, project, package, is_xilinx=False, test=True):
locks = default_locks +
[conda_lock.access('exclusive')]))

build_cmd = ['conda', 'build', '--python', '3.5',
WithProperties('%(dirsep)s'.join(['conda', package]))]
build_cmd = ['conda', 'build', '--python', '3.5']
if channel:
build_cmd += ['--channel',
WithProperties('http://conda.anaconda.org/m-labs/channel/' + channel)]
build_cmd.append(WithProperties('%(dirsep)s'.join(['conda', package])))
if not test:
build_cmd.append('--no-test')

@@ -208,12 +211,12 @@ def addCondaBuildSteps(factory, project, package, is_xilinx=False, test=True):
locks = default_locks +
[conda_lock.access('exclusive')]))

def addCondaUploadSteps(factory, channels, force=False):
def addCondaUploadSteps(factory, label, force=False):
factory.addStep(
ShellCommand(
name = 'anaconda_upload',
command = ['anaconda', 'upload',
'--user', 'm-labs', '--channel', channels,
'--user', 'm-labs', '--label', label,
WithProperties('%(output_filename)s')] +
(['--force'] if force else []),
description = 'uploading',
@@ -504,7 +507,7 @@ pyqtgraphBuildFactory = BuildFactory()
addCondaBuildSteps(pyqtgraphBuildFactory,
project='pyqtgraph', package='pyqtgraph')
addCondaUploadSteps(pyqtgraphBuildFactory,
force=True, channels='dev')
force=True, label='dev')

c['builders'].append(
BuilderConfig(
@@ -526,7 +529,7 @@ addCondaSetupTestEnvironmentSteps(migenBuildFactory,
addPythonUnittestSteps(migenBuildFactory)
# Upload the `migen` package
addCondaUploadSteps(migenBuildFactory,
force=True, channels='dev')
force=True, label='dev')
# Upload the Migen documentation
addSphinxDocumentSteps(migenBuildFactory,
source_path='doc',
@@ -555,7 +558,7 @@ addCondaBuildSteps(misocBuildFactory,
project='misoc', package='misoc')
# Upload the `misoc` package
addCondaUploadSteps(misocBuildFactory,
force=True, channels='dev')
force=True, label='dev')

c['builders'].append(
BuilderConfig(
@@ -569,12 +572,14 @@ c['builders'].append(
test_board_package = 'artiq-kc705-nist_clock'
test_board_hostname = 'kc705-1.lab.m-labs.hk'

#------ artiq

artiqBuildFactory = BuildFactory()
# Build and upload the `artiq-dev` package
addCondaBuildSteps(artiqBuildFactory,
project='artiq', package='artiq-dev')
addCondaUploadSteps(artiqBuildFactory,
force=True, channels='dev')
force=True, label='dev')
# Build the `artiq` package
addCondaBuildSteps(artiqBuildFactory,
project='artiq', package='artiq', test=False)
@@ -590,7 +595,7 @@ addLitSteps(artiqBuildFactory,
extra_vars={ 'COVERAGE': '1', 'PYTHONPATH': '.' })
# Upload the `artiq` package
addCondaUploadSteps(artiqBuildFactory,
force=True, channels='dev')
force=True, label='dev')
# Build and upload the `artiq-board-*` package
addTriggerSteps(artiqBuildFactory,
builder_names=["artiq-board"],
@@ -643,11 +648,44 @@ c['builders'].append(
properties = {'github_repo_name': 'artiq'},
factory = artiqBuildFactory))

#------ artiq-quick

artiqQuickBuildFactory = BuildFactory()
# Build and upload the `artiq-dev` package
addCondaBuildSteps(artiqQuickBuildFactory,
project='artiq', package='artiq-dev')
addCondaUploadSteps(artiqQuickBuildFactory,
force=True, label='%(channel:-quick)s')
# Build and upload the `artiq` package
addCondaBuildSteps(artiqQuickBuildFactory,
project='artiq', package='artiq', test=False)
addCondaUploadSteps(artiqQuickBuildFactory,
force=True, label='%(channel:-quick)s')
# Build and upload the `artiq-board-*` package
addTriggerSteps(artiqQuickBuildFactory,
builder_names=["artiq-board"],
alwaysUseLatest=False,
waitForFinish=True,
set_properties={"package": WithProperties('artiq-%(board)s'),
"channel": WithProperties('%(channel:-quick)s')})

c['builders'].append(
BuilderConfig(
name = 'artiq-quick',
# Note the *-1 suffix: we don't want to ever have more than one
# concurrent ARTIQ build, as that can lead to deadlocks downstream.
slavenames = ['debian-stretch-amd64-1'],
nextSlave = nextSlave,
properties = {'github_repo_name': 'artiq'},
factory = artiqQuickBuildFactory))

#------ artiq-board

artiqBoardBuildFactory = BuildFactory()
addCondaBuildSteps(artiqBoardBuildFactory,
project='artiq', package='%(package)s', is_xilinx=True)
project='artiq', package='%(package)s', is_xilinx=True, channel='%(channel:-dev)s')
addCondaUploadSteps(artiqBoardBuildFactory,
force=True, channels='dev')
force=True, label='%(channel:-dev)s')

c['builders'].append(
BuilderConfig(
@@ -656,6 +694,8 @@ c['builders'].append(
nextSlave = nextSlave,
factory = artiqBoardBuildFactory))

#------ artiq-win64-test

artiqWin64TestBuildFactory = BuildFactory()
addUpdateSteps(artiqWin64TestBuildFactory,
project='artiq')
@@ -684,7 +724,7 @@ condaBuildFactory = BuildFactory()
addCondaBuildSteps(condaBuildFactory,
project='conda-recipes', package='%(package)s')
addCondaUploadSteps(condaBuildFactory,
channels='main')
label='main')

c['builders'].append(
BuilderConfig(