Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Partial mar generation service
Python Erlang Shell Makefile
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


Build Status Coverage Status

This service (Previously called Senbonzakura) generates partial .MAR (Mozilla ARchive) files to update Firefox from Version A to Version B. It generates these on demand via API.

See Wiki Page (Historical) and Wiki Page for more details.



Dev-Env Requirements

  • A Linux machine with docker installed
  • Run ./tests/ to generate 2 docker containers:
    • A container running RabbitMQ server. This container will be linked to the main container. See docker documentation for the details.
    • Funsize container will be running in foreground. The checkout root directory will be mounted to the /app directory inside the container. This means that your file changes will be propagated to the container.
  • The application logs will show up in the logs directory
  • Funzise REST API can be accessed at http://localhost:5000
  • The task queue can be monitored at http://localhost:5555/
  • Ctrl+C to stop the container. The rabbitmq contaner will be stopped automatically
  • You can run ./tests/ /bin/bash to get shell access to the funsize container. Note that the services won't be running. You can start them by running supervisord &.
  • To run funsize with S3 cache backend (by default it uses local cache), export the following variables:
export AWS_ACCESS_KEY_ID=your_aws_key_id
export AWS_SECRET_ACCESS_KEY=your_aws_sikrit
export FUNSIZE_S3_UPLOAD_BUCKET=bucket-name
  • To delete ALL docker containers and images use the following commands
# Delete all containers
docker rm $(docker ps -a -q)
# Delete all images
docker rmi $(docker images -q)

Running Unit Tests

Run tox command. It will create a temporary virtualenv under .tox and run the tests.

Client side

The client side to call for partials lies in this python package script:


This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at

You can find a full copy of the MPL in the included file.

Something went wrong with that request. Please try again.