Buildhub aims to provide a public database of comprehensive information about releases and builds.
- Install Docker
- To run tests:
- To lint check Python code:
We use CircleCI for all continous integration.
To make a release you need to have write access to
github.com/mozilla-services/buildhub. First you have to generate a
lambda.zip file by running:
(This is generated inside Docker).
Then you need a GitHub Personal Access Token
repos scope. This is to generate GitHub Releases and upload assets
to them. Next, run
./bin/make-release.py. The only required parameter
is the "type" of the release. The choices are:
major(e.g. '2.6.9' to '3.0.0')
minor(e.g. '2.6.7' to '2.7.0')
patch(e.g. '2.6.7' to '2.6.8')
Like this for example:
GITHUB_API_KEY=895f...ce09 ./bin/make-release.py minor
This will bump the version in
setup.py, update the
make a tag and push that tag to GitHub.
Then, it will create a Release and upload the latest
lambda.zip as an
attachment to that Release.
The outlined steps above only upgrade the cron job part of Buildhub. And only for Stage is it automatically upgraded simply by making a new Release.
At the time of writing we still need to file a Bugzilla bug to have the Lambda job upgraded on Stage. Issue #423 is about automating this away.
To upgrade the Lambda job on Stage run:
To upgrade the cron job and Lambda job on Prod run: