Compare commits
	
		
			1 commit
		
	
	
		
			3beef0c297
			...
			8fe3fedafe
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 8fe3fedafe | 
					 2 changed files with 116 additions and 11 deletions
				
			
		|  | @ -7,8 +7,8 @@ jobs: | ||||||
|       DIRECTORY: config |       DIRECTORY: config | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v4 |       - uses: actions/checkout@v4 | ||||||
|       - run: cd ${{ env.DIRECTORY }} |       - uses: actions/setup-python@v5 | ||||||
|       - run: pip install -r requirements-dev.txt |         with: | ||||||
|       - run: ruff check |           python-version: '3.12.6' | ||||||
|       - run: ruff format |       - run: pip install -r requirements.txt | ||||||
|       - run: myp |       - run: make check | ||||||
|  | @ -1,11 +1,116 @@ | ||||||
| # -*- python -*- | # -*- python -*- | ||||||
| # ex: set filetype=python: | # ex: set filetype=python: | ||||||
| import importlib | 
 | ||||||
| import os | import os | ||||||
| import sys |  | ||||||
| 
 | 
 | ||||||
| sys.path.insert(0, os.path.expanduser("~/git/blender-devops/buildbot")) | from buildbot.plugins import * | ||||||
| 
 | 
 | ||||||
| import setup | # This is a sample buildmaster config file. It must be installed as | ||||||
| importlib.reload(setup) | # 'master.cfg' in your buildmaster's base directory. | ||||||
| BuildmasterConfig = setup.setup() | 
 | ||||||
|  | # This is the dictionary that the buildmaster pays attention to. We also use | ||||||
|  | # a shorter alias to save typing. | ||||||
|  | c = BuildmasterConfig = {} | ||||||
|  | 
 | ||||||
|  | ####### WORKERS | ||||||
|  | 
 | ||||||
|  | # The 'workers' list defines the set of recognized workers. Each element is | ||||||
|  | # a Worker object, specifying a unique worker name and password.  The same | ||||||
|  | # worker name and password must be configured on the worker. | ||||||
|  | 
 | ||||||
|  | c['workers'] = [worker.Worker("example-worker", 'pass')] | ||||||
|  | 
 | ||||||
|  | if 'BUILDBOT_MQ_URL' in os.environ: | ||||||
|  |     c['mq'] = { | ||||||
|  |         'type' : 'wamp', | ||||||
|  |         'router_url': os.environ['BUILDBOT_MQ_URL'], | ||||||
|  |         'realm': os.environ.get('BUILDBOT_MQ_REALM', 'buildbot').decode('utf-8'), | ||||||
|  |         'debug' : 'BUILDBOT_MQ_DEBUG' in os.environ, | ||||||
|  |         'debug_websockets' : 'BUILDBOT_MQ_DEBUG' in os.environ, | ||||||
|  |         'debug_lowlevel' : 'BUILDBOT_MQ_DEBUG' in os.environ, | ||||||
|  |     } | ||||||
|  | # 'protocols' contains information about protocols which master will use for | ||||||
|  | # communicating with workers. You must define at least 'port' option that workers | ||||||
|  | # could connect to your master with this protocol. | ||||||
|  | # 'port' must match the value configured into the workers (with their | ||||||
|  | # --master option) | ||||||
|  | c['protocols'] = {'pb': {'port': os.environ.get("BUILDBOT_WORKER_PORT", 9989)}} | ||||||
|  | 
 | ||||||
|  | ####### CHANGESOURCES | ||||||
|  | 
 | ||||||
|  | # the 'change_source' setting tells the buildmaster how it should find out | ||||||
|  | # about source code changes.  Here we point to the buildbot clone of pyflakes. | ||||||
|  | 
 | ||||||
|  | c['change_source'] = [] | ||||||
|  | c['change_source'].append(changes.GitPoller( | ||||||
|  |         'git://github.com/buildbot/pyflakes.git', | ||||||
|  |         workdir='gitpoller-workdir', branch='master', | ||||||
|  |         pollInterval=300)) | ||||||
|  | 
 | ||||||
|  | ####### SCHEDULERS | ||||||
|  | 
 | ||||||
|  | # Configure the Schedulers, which decide how to react to incoming changes.  In this | ||||||
|  | # case, just kick off a 'runtests' build | ||||||
|  | 
 | ||||||
|  | c['schedulers'] = [] | ||||||
|  | c['schedulers'].append(schedulers.SingleBranchScheduler( | ||||||
|  |                             name="all", | ||||||
|  |                             change_filter=util.ChangeFilter(branch='master'), | ||||||
|  |                             treeStableTimer=None, | ||||||
|  |                             builderNames=["runtests"])) | ||||||
|  | c['schedulers'].append(schedulers.ForceScheduler( | ||||||
|  |                             name="force", | ||||||
|  |                             builderNames=["runtests"])) | ||||||
|  | 
 | ||||||
|  | ####### BUILDERS | ||||||
|  | 
 | ||||||
|  | # The 'builders' list defines the Builders, which tell Buildbot how to perform a build: | ||||||
|  | # what steps, and which workers can execute them.  Note that any particular build will | ||||||
|  | # only take place on one worker. | ||||||
|  | 
 | ||||||
|  | factory = util.BuildFactory() | ||||||
|  | # check out the source | ||||||
|  | factory.addStep(steps.Git(repourl='http://github.com/buildbot/pyflakes.git', mode='incremental')) | ||||||
|  | # run the tests (note that this will require that 'trial' is installed) | ||||||
|  | factory.addStep(steps.ShellCommand(command=["trial", "pyflakes"])) | ||||||
|  | 
 | ||||||
|  | c['builders'] = [] | ||||||
|  | c['builders'].append( | ||||||
|  |     util.BuilderConfig(name="runtests", | ||||||
|  |       workernames=["example-worker"], | ||||||
|  |       factory=factory)) | ||||||
|  | 
 | ||||||
|  | ####### REPORTER TARGETS | ||||||
|  | 
 | ||||||
|  | # 'services' is a list of Reporter Targets. The results of each build will be | ||||||
|  | # pushed to these targets. buildbot/reporters/*.py has a variety to choose from, | ||||||
|  | # like IRC bots. | ||||||
|  | 
 | ||||||
|  | c['services'] = [] | ||||||
|  | 
 | ||||||
|  | ####### PROJECT IDENTITY | ||||||
|  | 
 | ||||||
|  | # the 'title' string will appear at the top of this buildbot installation's | ||||||
|  | # home pages (linked to the 'titleURL'). | ||||||
|  | 
 | ||||||
|  | c['title'] = "Blender" | ||||||
|  | c['titleURL'] = "https://blender.org/download" | ||||||
|  | 
 | ||||||
|  | # the 'buildbotURL' string should point to the location where the buildbot's | ||||||
|  | # internal web server is visible. This typically uses the port number set in | ||||||
|  | # the 'www' entry below, but with an externally-visible host name which the | ||||||
|  | # buildbot cannot figure out without some help. | ||||||
|  | 
 | ||||||
|  | c['buildbotURL'] = os.environ.get("BUILDBOT_WEB_URL", "http://localhost:8010/") | ||||||
|  | 
 | ||||||
|  | # minimalistic config to activate new web UI | ||||||
|  | c['www'] = dict(port=os.environ.get("BUILDBOT_WEB_PORT", 8010), | ||||||
|  |                 plugins=dict(waterfall_view={}, console_view={})) | ||||||
|  | 
 | ||||||
|  | ####### DB URL | ||||||
|  | 
 | ||||||
|  | c['db'] = { | ||||||
|  |     # This specifies what database buildbot uses to store its state.  You can leave | ||||||
|  |     # this at its default for all but the largest installations. | ||||||
|  |     'db_url' : os.environ.get("BUILDBOT_DB_URL", "sqlite://").format(**os.environ), | ||||||
|  | } | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue