- Buildduty -

Release Automation


Mihai Tabara @ RelEng 2018



intro



  1. connecting dots backwards
  2. what does RelEng do?
  3. "glass"
  4. BB vs TC

TRain model


  1. historical context
  2. check-in / gecko
  3. integration branches
  4. central
  5. release branches
  6. project branches
  7. why?

Changeset cycle in 2013



nightly vs release (1)


nightly vs release (2)


  1. terminology
  2. "on push" vs "nightly"
  3. "promotion"
  4. populations numbers
  • nightly: 60K
  • beta: 1M
  • release: 100M

Release overview

Or ..


BUILD
SIGN
UPLOAD
UPDATES



BUILD

  • en-US
  • locales
  • per platform



SIGN


  • consumes artifacts from BUILD
  • GPG-signing
  • produces signed artifacts


UPLOAD


  • consumes the signed artifacts
  • performed by "beetmover" jobs
  • transfers them to a safe public location
  • S3
  • "produces" uploaded artifacts

UPDATES


  • consumes the uploaded artifacts
  • performed by "balrog" jobs
  • transfers information about updates to Balrog
  • "produces" updates artifacts

Ship it


Balrog


  • information keeper
  • our gateway to outside world
  • updates terminology
    • full update
    • partial update

RELEASEDUTY


  • 2 releng squirrels per cycle
  • every 6 weeks
  • shepparding nightlies, releases
  • mergeduty
  • graph supervision (four pillars: build/sign/upload/update)

RELEASEDUTY

  • where we need help
  • frequest issues vary
  • easy reruns
  • debugging automation issues

Behind the scenes

BEHIND THE SCENES


Buildduty Release Automation

By Mihai Tabara

Buildduty Release Automation

  • 229