Closed
Bug 721856
Opened 12 years ago
Closed 9 years ago
Setup build+test infrastructure for Emscripten
Categories
(Release Engineering :: General, enhancement, P5)
Release Engineering
General
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: ehsan.akhgari, Unassigned)
References
Details
(Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/2937] [emscripten])
The code for Emscripten lives on https://github.com/kripken/emscripten. It is not based on mozilla-central and does not share code with any other projects. In order to run Emscripten, the machine needs to have the following installed: * node.js * Spidermonkey shell * The closure compiler * clang 3.0 And also a ~/.emscripten file which points to the correct path names for the above. Running the tests should involve something like this: git clone git://github.com/kripken/emscripten.git cd emscripten git checkout incoming ./tests/runner.py > test.log Alon can probably fill in the missing details here.
Comment 1•12 years ago
|
||
(In reply to Ehsan Akhgari [:ehsan] from comment #0) > The code for Emscripten lives on https://github.com/kripken/emscripten. It > is not based on mozilla-central and does not share code with any other > projects. In order to run Emscripten, the machine needs to have the > following installed: > > * node.js Where do I get this? Can/should this be retrieved as part of the build process? > * Spidermonkey shell Same here. > * The closure compiler Same here. > * clang 3.0 We'll probably be deploying this shortly. > And also a ~/.emscripten file which points to the correct path names for the > above. This needs to be local to the build directory, not a system-wide thing > Running the tests should involve something like this: > > git clone git://github.com/kripken/emscripten.git We don't have git on the machines yet. > cd emscripten > git checkout incoming > ./tests/runner.py > test.log > > Alon can probably fill in the missing details here.
Comment 2•12 years ago
|
||
(In reply to Chris AtLee [:catlee] from comment #1) > (In reply to Ehsan Akhgari [:ehsan] from comment #0) > > > Running the tests should involve something like this: > > > > git clone git://github.com/kripken/emscripten.git > > We don't have git on the machines yet. > I see that pdf.js also uses github, like Emscripten, and their build automation looks pretty good (I don't know how it works, but they have a tryserver-like bot that posts messages to pull requests, etc.). If Emscripten could have something similar that would be great. > > The code for Emscripten lives on https://github.com/kripken/emscripten. It > > is not based on mozilla-central and does not share code with any other > > projects. In order to run Emscripten, the machine needs to have the > > following installed: > > > > * node.js > > Where do I get this? Can/should this be retrieved as part of the build > process? > It's available at http://nodejs.org/ No need to constantly retrieve it, I don't think. > > * Spidermonkey shell > > Same here. > This involves fetching mozilla-central, then in js/src doing ./configure --enable-optimize --disable-debug make The shell is then generated as 'js'. > > * The closure compiler > > Same here. > This is at http://code.google.com/closure/compiler/ Like node, it doesn't need to be fetched all the time, it's pretty stable. > > * clang 3.0 > > We'll probably be deploying this shortly. > Ah, nice, we'll be using that on Firefox soon? (OS X I assume?)
Comment 3•12 years ago
|
||
1) We typically do builds on separate machines from tests - this handles our cross-OS coverage story. Tweaking summary to match. 2) Does this code have to remain on the current remote git repo? Supporting git is something we are building out support for in our automation, but it doesnt exist today. Further, there are security concerns about our systems pulling in code+files from remote external sites. All of these could be avoided if we hosted the code on hg.m.o, and then pushed out updates to the external git repo. 2) Who would need commit access to this? Or to put another way, do we know that all the people who will commit to "emscripten" also have commit privs on mozilla-central, and so we can trust later m-c jobs run on these same machines? 4) There is another project looking to install node onto test machines, is this the same version of node that Emscripten is looking for? See bug#729392 for details.
Priority: -- → P5
Summary: Please add a test server for Emscripten → Setup build+test infrastructure for Emscripten
Comment 4•12 years ago
|
||
(In reply to John O'Duinn [:joduinn] from comment #3) > 2) Does this code have to remain on the current remote git repo? I think so. We are getting a lot of contributions there, and github being familiar to everyone is a big part of that I think. > > 2) Who would need commit access to this? Or to put another way, do we know > that all the people who will commit to "emscripten" also have commit privs > on mozilla-central, and so we can trust later m-c jobs run on these same > machines? Hmm, not sure. Does anyone know what pdf.js does? (They are also on github, have external contributors, and have automatic testing infrastructure.) > > 4) There is another project looking to install node onto test machines, is > this the same version of node that Emscripten is looking for? See bug#729392 > for details. If I read that right, they will compile from source? That would be fine for Emscripten (a reasonably recent stable release would also be fine).
Updated•12 years ago
|
Component: Release Engineering → Release Engineering: Automation (General)
OS: Mac OS X → All
Priority: P5 → --
QA Contact: release → catlee
Hardware: x86 → All
Updated•12 years ago
|
Comment 5•12 years ago
|
||
So we can't pull from github because we're planning on shutting off external network access this quarter. Can you mirror this on hg for now?
Depends on: 617414
Reporter | ||
Comment 6•12 years ago
|
||
We can look into doing that, I think. What do you require from the hg mirror? Should it just contain the same stuff as the git repo? If yes, I can look into using hg-git to do the mirroring.
Comment 7•12 years ago
|
||
Not sure I understand...why wouldn't it contain the same stuff as git? If you're looking for a subset, then I'd say mirror git's master branch to hg's default branch, and we'd watch that for changes.
Reporter | ||
Comment 8•12 years ago
|
||
Oh, no particular reason. Just wanted to make sure that you guys don't care about the repo contents. :-)
Reporter | ||
Comment 9•12 years ago
|
||
Should I file a bug for an hg repo to be created?
Comment 10•12 years ago
|
||
yup!
Reporter | ||
Comment 11•12 years ago
|
||
To run the tests in parallel, one needs to do: nosetests --processes=4 -v -s tests/runner.py Where 4 is the number of processes to use.
Reporter | ||
Comment 12•12 years ago
|
||
I filed bug 755833 to deploy the bookmarks extension on hg.m.o so that I can sync up the emscripten git repo to the hg mirror.
Updated•12 years ago
|
Assignee: nobody → catlee
Updated•12 years ago
|
Priority: P2 → P5
Updated•11 years ago
|
Assignee: catlee → nobody
Assignee | ||
Updated•11 years ago
|
Product: mozilla.org → Release Engineering
Updated•10 years ago
|
Whiteboard: [emscripten] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/2929] [emscripten]
Updated•10 years ago
|
Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/2929] [emscripten] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/2933] [emscripten]
Updated•10 years ago
|
Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/2933] [emscripten] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/2937] [emscripten]
Comment 13•9 years ago
|
||
Not sure if this is still useful or not, but this is probably something that can be self served with Taskcluster if it is.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WONTFIX
Assignee | ||
Updated•6 years ago
|
Component: General Automation → General
You need to log in
before you can comment on or make changes to this bug.
Description
•