Closed Bug 1453980 Opened 2 years ago Closed 6 months ago
documentation on how to build/release Mozilla
Ryan, as per our discussion yesterday about the build team and ownership of MozillaBuild, I wanted to understand the build and release process for a new version. (I looked in the repo and didn't see anything) Is there any documentation on this process? gps mentioned a custom vm is required to build. Could you document the process and then one of us can go through the document and ensure we can replicate the process?
There's no need for a custom VM anymore. I completely overhauled packaging back in the 3.0 days with the main impetus being getting rid of that requirement. MozillaBuild is completely self-hosted now :). That said, doing the actual packaging in a throwaway VM isn't a bad idea just to avoid polluting your real system (since some installers do run during packaging). I just use the Edge test VMs Microsoft makes available from their site these days: https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ To package it, one needs to simply run packageit.py in the repo. There's a pretty large comment at the top of it with usage instructions: https://hg.mozilla.org/mozilla-build/file/tip/packageit.py In general, I tried to gratuitously comment packageit.py to explain what's going on throughout as well, but suggestions are always welcome for clarifying things. Beyond that, it's a matter of getting the final package signed (per our discussion yesterday) - see bug 1421450 as a recent example. I usually run it through VirusTotal just to be safe too. Then upload to S3 in the right place. One needs the appropriate bits to do so, but I would assume gps and others on your team have them already. Then send the announcement to the relevant lists and update the wiki: https://wiki.mozilla.org/MozillaBuild (which has links to the previous announcements). If anything needs clarification, don't hesitate to ask!
Oh, one minor gotcha these days - nodejs by default has some *really* long paths than can anger the packaging gods, so I've had to resort to adding |-o "c:\m"| to my packageit.py invocations to use shorter-length staging directory than the default one. Yay Windows.
Could you document all of this in a README in the repo?
Status: NEW → RESOLVED
Closed: 6 months ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.