Skip to content

Latest commit

 

History

History
127 lines (103 loc) · 4.83 KB

development.md

File metadata and controls

127 lines (103 loc) · 4.83 KB

Orange banner indicating a preview software component


📘 Development

Explains how to fork, set up a development environment, and iterate to get started contributing


Before cloning this repository, please ensure appropriate safety precautions are taken. This means being sure to use an air-tight and ephemeral development environment to essentially create a disposable sandbox. This may be accomplished using virtualization software. There are several excellent and free virtualization products (called hypervisors or virtual machine managers). One such as product is Oracle VM VirtualBox, which can be used for local development or perhaps consider using cloud-based virtualization offerings.

[EXCERPT]:VirtualBox User Manual —  Section 1.1, “Why is Virtualization Useful?”

Once installed, a virtual machine and its virtual hard disks can be considered a container that can be arbitrarily frozen, woken up, copied, backed up, and transported between hosts.

Using virtual machines enables you to build and test a multi-node networked service, for example. Issues with networking, operating system, and software configuration can be investigated easily.

In addition to that, with the use of an Oracle VM VirtualBox feature called snapshots, one can save a particular state of a virtual machine and revert back to that state, if necessary. This way, one can freely experiment with a computing environment. If something goes wrong, such as problems after installing software or infecting the guest with a virus, you can easily switch back to a previous snapshot and avoid the need of frequent backups and restores.

Any number of snapshots can be created, allowing you to travel back and forward in virtual machine time. You can delete snapshots while a VM is running to reclaim disk space.

— https://www.virtualbox.org/manual/ch01.html#virt-why-useful


Building the Docker Images


[EXCERPT]:Task Kinds — Firefox Source Documentation —  Section “docker-image”, Firefox CI and Taskgraph Reference

Tasks of the docker-image kind build the Docker images in which other Docker tasks run.

The tasks to generate each docker image have predictable labels: docker-image-<name>.

Docker images are built from subdirectories of taskcluster/docker, using docker build. There is currently no capability for one Docker image to depend on another in-tree docker image, without uploading the latter to a Docker repository.

— https://firefox-source-docs.mozilla.org/taskcluster/kinds.html#docker-image




Orange banner indicating a preview software component