|
|
Line 84: |
Line 84: |
| For buildbot builds (Windows and Mac) | | For buildbot builds (Windows and Mac) |
| Use [https://secure.pub.build.mozilla.org/buildapi/self-serve/mozilla-central/ self-serve] for this. Scroll to the bottom of the page and put the requested revision into the box next to ''Create new nightly builds on mozilla-central revision''. Click on the Submit button. This takes care of using the same buildID for all builds. | | Use [https://secure.pub.build.mozilla.org/buildapi/self-serve/mozilla-central/ self-serve] for this. Scroll to the bottom of the page and put the requested revision into the box next to ''Create new nightly builds on mozilla-central revision''. Click on the Submit button. This takes care of using the same buildID for all builds. |
|
| |
| ==== To rebuild some subset of all the nightly builders (eg only desktop/Android/b2g) ====
| |
| To reach a specific nightly builder on a build master, you can use a finished nightly job on treeherder and this snippet of javascript code (add it to the bookmark toolbar):
| |
| javascript:(function(){function%20JSONRequest(url,callback){var%20req=new%20XMLHttpRequest();req.open('GET',url+'?format=json');req.withCredentials=true;req.timeout=5000;req.onreadystatechange=function(){if(req.readyState===4){if(req.status!==200||!req.responseText){if(req.status===0){alert('Self-Serve%20API%20request%20timed%20out.');}else{alert('Self-Serve%20API%20request%20failed%20('+req.status+').%20\nIs%20the%20job%20still%20pending?%20\n\n'+req.responseText);}return;}try{callback(JSON.parse(req.responseText));}catch(e){alert(e);}}};req.send();}function%20openJob(job){var%20bm=job.claimed_by_name.split(':');var%20port=/build[0-9]/.test(bm[1])?"8001":/try[0-9]/.test(bm[1])?"8101":/tests[0-9]/.test(bm[1])?"8201":'unknown';window.open('http://'+bm[0]+':'+port+'/builders/'+job.buildername+'/builds/'+job.buildnumber);}function%20openCompletedJob(jobs){var%20selectedJob=UserInterface._activeResultObject();var%20startTime=Date.parse(selectedJob.startTime)/1000;jobs=jobs.filter(function(j){return(j.buildername===selectedJob.machine.name)&&((j.starttime-startTime)<=1);});if(jobs.length!==1){alert('Should%20have%20found%20exactly%20one%20matching%20job,%20found%20'+jobs.length+'!');return;}openJob(jobs[0]);}var%20id=(typeof%20UserInterface!=="undefined")?UserInterface._activeResult:'';if(!id){alert('Error%20-%20are%20you%20on%20TBPL%20with%20a%20job%20selected?');return;}var%20baseURL='https://secure.pub.build.mozilla.org/buildapi/self-serve/'+UserInterface.treeInfo.buildbotBranch;var%20re=/^(?:running|pending)-/;if(!re.test(id)){var%20rev=UserInterface._activeResultObject().revs[UserInterface.treeInfo.primaryRepo];JSONRequest(baseURL+'/rev/'+rev,openCompletedJob);}else{JSONRequest(baseURL+'/build/'+id.replace(re,''),openJob);}})()
| |
|
| |
| You will need to force the specific builders on a build master, setting several parameters. First open a waterfall page (eg [http://buildbot-master82.build.mozilla.org:8001/waterfall?category=mozilla-central&num_events=0 mozilla-central]) and search for 'nightly'. Open each builder you want in a new tab.
| |
|
| |
| For each builder you should set
| |
| * 'Your name' to your name
| |
| * 'Reason for build' to 'bug ###' or 'requested by <someone>'
| |
| * 'Branch to build' to 'mozilla-central' (other branches may have a prefix, eg releases/mozilla-aurora)
| |
| * 'Revision to build' to the <revision> (hg revision)
| |
| * 'Property 1': 'Name' to 'buildid', 'Value' to the current Pacific time (eg from running <tt>TZ=US/Pacific date +%Y%m%d%H%M%S</tt>)
| |
| Then click on the 'Force build' button.
| |
|
| |
| The first two are nice-to-have for later debugging. The branch and revisions are required so that Treeherder shows the builds while they are pending and running (rather than just after completion). Setting the buildid property the same across all builds helps keep nightlies consistent. An add-on like [https://addons.mozilla.org/en-US/firefox/addon/autofill-forms/ AutoFill Forms] is invaluable in storing these values and filling the form for you, but there is probably a way to do this with curl too (it's a POST).
| |
|
| |
|
| == Disable updates == | | == Disable updates == |