Closed Bug 1453980 Opened 2 years ago Closed 6 months ago

documentation on how to build/release MozillaBuild

Categories

(mozilla.org :: MozillaBuild, task)

task
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: kmoir, Assigned: RyanVM)

References

(Blocks 1 open bug)

Details

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?
Assignee: nobody → ryanvm
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!
Flags: needinfo?(kmoir)
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?
Flags: needinfo?(kmoir)
Flags: needinfo?(ryanvm)
Blocks: 1525066

Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/mozilla-build/rev/9132a468a8f1
Add packaging instructions for MozillaBuild.

Status: NEW → RESOLVED
Closed: 6 months ago
Resolution: --- → FIXED

Let me know if anything in there isn't clear enough. Happy to provide pointers as needed.

Flags: needinfo?(ryanvm)
You need to log in before you can comment on or make changes to this bug.