<commit_before>---
title: Virtual Machines and Base Box updates
---

# Base Box

The Base Box is a virtual machine image we use for running your builds.
Every build runs in its own virtual machine and the virtual machine is
rolled back to a saved state (the base box state) after the build finishes.

This way **your builds are always protected** by changes made by others and
by your previous builds and you can use a **stable environment** to
define your build workflow (*no state persists between builds*).

The user which is used for the builds is configured with **passwordless sudo** enabled,
this way **you can install all the extra things you need for your builds**
and for other automation.

**This is a guideline, not a rule documentation.**
If you need older versions of a program or you know about a useful tool
which would be beneficial for everyone to be
pre-installed [let us know](https://www.bitrise.io/contact){:target="_blank"}!


## Pre-installed component versions

The current Box OS X version is: **10.10.4 (Yosemite)**

Our current Base Box contains the following programs preinstalled:

* [Homebrew](http://brew.sh/){:target="_blank"}: `0.9.5`
* installed with Homebrew:
    * __coreutils__: `8.23` - installed with Homebrew, this means that all the tools are prefixed with the letter __g__. For example `timeout` is available as `gtimeout`.
    * __git__: `2.4.5`
    * __mercurial__: `3.4.2`
    * __xctool__: `0.2.4`
    * __go__: `1.4.2`
    * __NodeJS__: `v0.12.5`
    * __NPM__: `2.11.2`
    * __wget__: `1.16.3`
    * [ansible](http://www.ansible.com/home){:target="_blank"}: `1.9.2`
* __Xcode__:
    * __-stable__: `6.4 (build version: 6E35b)`
    * __-beta__: `7.0 beta2 (build version: 7A121l)`
* [RVM](http://rvm.io/){:target="_blank"}: `1.26.11`
* __Rubies__ (installed with RVM)
    * `2.1.6`
    * `2.2.2`
    * `2.1.5 (p273)`, set as **default**
* __Ruby Gems__, *installed for the default Ruby version*
    * [CocoaPods](http://cocoapods.org/){:target="_blank"}: `0.37.2`
    * [nomad-cli](http://nomad-cli.com/){:target="_blank"}: `2.4.8`
    * [bundler](http://bundler.io/){:target="_blank"}: `1.10.5`
* [XcodeUnitTestMiniserver](https://github.com/bitrise-io/xcodebuild-unittest-miniserver){:target="_blank"}: `1.2.0`
* [cmd-bridge](https://github.com/bitrise-io/cmd-bridge){:target="_blank"}: `v0.9.2` installed and auto-started in server mode (with LaunchAgent)

You can find the **Virtual Machine changelog** [here](/docs/vm-box-changelog.html).

> You can find the OS X base box setup guide and automation scripts
> we use for building our OS X virtual machine base box
> in our [OS X Box Bootstrap repository](https://github.com/bitrise-io/osx-box-bootstrap){:target="_blank"},
> so you can build your own virtual machine to match the ones used on Bitrise.

*We have a special Step which reports all the installed program / component versions.
Just add the **OS X System Information Reporter** step
to your app's workflow (or you can create a separate app on Bitrise<commit_msg>current pre-installed tools version update<commit_after>---
title: Virtual Machines and Base Box updates
---

# Base Box

The Base Box is a virtual machine image we use for running your builds.
Every build runs in its own virtual machine and the virtual machine is
rolled back to a saved state (the base box state) after the build finishes.

This way **your builds are always protected** by changes made by others and
by your previous builds and you can use a **stable environment** to
define your build workflow (*no state persists between builds*).

The user which is used for the builds is configured with **passwordless sudo** enabled,
this way **you can install all the extra things you need for your builds**
and for other automation.

**This is a guideline, not a rule documentation.**
If you need older versions of a program or you know about a useful tool
which would be beneficial for everyone to be
pre-installed [let us know](https://www.bitrise.io/contact){:target="_blank"}!


## Pre-installed component versions

The current Box OS X version is: **10.10.4 (Yosemite)**

Our current Base Box contains the following programs preinstalled:

* [Homebrew](http://brew.sh/){:target="_blank"}: `0.9.5`
* installed with Homebrew:
    * __coreutils__: `8.24` - installed with Homebrew, this means that all the tools are prefixed with the letter __g__. For example `timeout` is available as `gtimeout`.
    * __git__: `2.4.5`
    * __mercurial__: `3.4.2`
    * __xctool__: `0.2.4`
    * __go__: `1.4.2`
    * __NodeJS__: `v0.12.7`
    * __NPM__: `2.12.1`
    * __wget__: `1.16.3`
    * [ansible](http://www.ansible.com/home){:target="_blank"}: `1.9.2`
* __Xcode__:
    * __-stable__: `6.4 (build version: 6E35b)`
    * __-beta__: `7.0 beta 3 (build version: 7A152u)`
* [RVM](http://rvm.io/){:target="_blank"}: `1.26.11`
* __Rubies__ (installed with RVM)
    * `2.1.6`
    * `2.2.2`
    * `2.1.5 (p273)`, set as **default**
* __Ruby Gems__, *installed for the default Ruby version*
    * [CocoaPods](http://cocoapods.org/){:target="_blank"}: `0.37.2`
    * [nomad-cli](http://nomad-cli.com/){:target="_blank"}: `2.4.8`
    * [bundler](http://bundler.io/){:target="_blank"}: `1.10.5`
* [XcodeUnitTestMiniserver](https://github.com/bitrise-io/xcodebuild-unittest-miniserver){:target="_blank"}: `1.2.0`
* [cmd-bridge](https://github.com/bitrise-io/cmd-bridge){:target="_blank"}: `v0.9.2` installed and auto-started in server mode (with LaunchAgent)

You can find the **Virtual Machine changelog** [here](/docs/vm-box-changelog.html).

> You can find the OS X base box setup guide and automation scripts
> we use for building our OS X virtual machine base box
> in our [OS X Box Bootstrap repository](https://github.com/bitrise-io/osx-box-bootstrap){:target="_blank"},
> so you can build your own virtual machine to match the ones used on Bitrise.

*We have a special Step which reports all the installed program / component versions.
Just add the **OS X System Information Reporter** step
to your app's workflow (or you can create a separate app on Bitrise
{'fraction_non_alphanumeric': 0.13527284681130836, 'fraction_numerical': 0.027613412228796843, 'mean_word_length': 4.066611157368859, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 11, 'https://': 8, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4218982', 'n_tokens_mistral': 2045, 'n_tokens_neox': 1946, 'n_words': 720}