How do users get their hands on a build?

To get your software into users' hands, upload your build to the Project Build Library.

Note: We use "uploading" here as a generic term for all operations that change the Project Build Library.

Users who have the appropriate permissions can upload files to the Project Build Library for that project.

Files are uploaded using HTTP upload over a secure SSL connection. Because the Project Build Library tracks metadata about each file, it does not use a simple HTTP upload interface. Instead, the PBL uses a specially built cross-platform client to perform uploads. The client is aware of PBL's authentication and directory layout structure, and performs checksum verification.

How Uploaded Files Are Verified

It is extremely important for the PBL file uploading service to verify that the file being sent is the exact same file that is received on the remote end. When you upload a file, the pbl.py client calculates an md5 checksum on your client system, and sends that checksum over the network to the server along with the file being uploaded. When the server receives the file, it calculates the md5 checksum, and compares that with the value it was passed from the client.

If the checksums from both copies of the file match, the file is accepted into the Project Build Library. If there is a mismatch, this information will be returned as an error to the user, and the file will not be accepted into the Project Build Library. Mismatches should only occur if there is a network error in transmission, or some other kind of severe hardware error.