GithubHelp home page GithubHelp logo

10allday-services / buildhub Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mozilla-services/buildhub

0.0 1.0 0.0 7.74 MB

DEPRECATED: Mozilla Build Metadata Service

Home Page: http://buildhub.readthedocs.io/en/latest/

License: Mozilla Public License 2.0

HTML 0.37% CSS 0.20% Python 91.00% JavaScript 4.24% Makefile 0.71% Shell 2.34% Dockerfile 1.14%

buildhub's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.