Skip to content
This repository has been archived by the owner. It is now read-only.
DEPRECATED: Mozilla Build Metadata Service
Python JavaScript Shell Dockerfile Makefile HTML CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
bin
docs
jobs
kinto
testkinto
ui
.dockerignore
.gitignore
.pyup.yml
CODE_OF_CONDUCT.md
Dockerfile
LICENSE
Makefile
README.md
docker-compose.ci.yml
docker-compose.yml

README.md

Buildhub

Status: June 11th, 2019

This project is deprecated and will be decommissioned soon. If you're using Buildhub, please migrate to Buildhub2.

Details

CircleCI

Buildhub aims to provide a public database of comprehensive information about releases and builds.

Licence

MPL 2.0

Development

  1. Install Docker
  2. To run tests: make test
  3. To lint check Python code: make lintcheck

Continuous Integration

We use CircleCI for all continous integration.

Releasing

There are a few pieces to Buildhub.

AWS Lambda job and cron job

Generate a new lambda.zip file by running:

rm lambda.zip
make lambda.zip

This runs a script inside a Docker container to generate the lambda.zip file.

You need to have write access to github.com/mozilla-services/buildhub.

You need a GitHub Personal Access Token with repos scope. This is to generate GitHub Releases and upload assets to them.

Create a Python virtual environment and install "requests" and "python-decouple" into it.

Run ./bin/make-release.py. You need to set the GITHUB_API_KEY environment variable. You need to specify the "type" of the release as a command-line argument. 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')

Then do this in your Python virtual environment:

$ GITHUB_API_KEY=895f...ce09 ./bin/make-release.py minor

This will bump the version in setup.py, update the CHANGELOG.rst and 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.

You 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:

./bin/deployment-bug.py stage-lambda

To upgrade the cron job and Lambda job on Prod run:

./bin/deployment-bug.py prod

Website ui

Install yarn.

Then run:

$ cd ui
$ yarn install
$ yarn run build
$ rimraf tmp
$ mkdir tmp
$ cp -R build/* tmp/
$ gh-pages -d tmp --add

Note: This only deploys a ui that connects to prod kinto--it doesn't deploy a ui that connects to the stage kinto.

Datadog

Buildhub Performance

You can’t perform that action at this time.