FreeBSD Build Environment
Overview #
This guide provides an overview of the packages, tools, and settings available in the FreeBSD CI environment.
To use our FreeBSD build infrastructure, you can use the following:
- FreeBSD 12.1 default
Note: We use FreeBSD 12.1 as default.
Use FreeBSD #
To use FreeBSD, add the following to your .travis.yml
.
os: freebsd
Travis CI also supports the Ubuntu Linux Build Environment, Windows Build Environment and macOS Build Environment.
FreeBSD is available on our hosted fully virtualized infrastructure.
FreeBSD Improvements #
FreeBSD includes the following changes and improvements:
Remove third-party pkg-repositories #
To specify a third-party pkg-repository, you can add the source with the pkg addon and specify the packages.
For example:
os: freebsd
addons:
pkg:
- go
- curl
Common Environment to FreeBSD 12.1 images #
The following versions of version control software and compilers are present on all FreeBSD 12.1 builds, along with more language-specific software, are described in detail below.
Any preinstalled software not provided by the distro is installed from ports – either a prebuilt binary if available, or a source release built with default options. For preinstalled language interpreters, a standard version manager like rvm is used, if available for the language.
Ruby Support #
- Pre-installed Rubies: 2.6.5.
- Available ruby versions: 1.8.6, 1.8.7, 1.9.1, 1.9.2, 1.9.3, 2.0.0, 2.1.10, 2.2.10, 2.3.8, 2.4.6, 2.5.5, 2.6.3, 2.7.0 (preview1)
- Other ruby versions can be installed during build time:
language: ruby
rvm:
- 2.5 # RVM should install 2.5 for FreeBSD
- 2.6 # should use default pre-installed 2.6.5
C and C++ Support #
Pre-install compilers and linkers:
- Make
- GNU autotools
- Scons
- Shellcheck
- Shfmt
- Clang
- GCC
- CMake
- Ccache
- Llvm
Python Support #
- Supported Python versions: 2.7, 3.4 or higher.
- Pre-installed Python versions: 3.6 and 3.8.
- Pre-installed PyPy
- Pre-installed PIP
Go Support #
- Pre-installed Go: 1.11
- Other Go versions can be installed during build time by specifying the language versions with the go:-key.
Julia Support #
- Supported Julia versions: starting with version 0.7 and higher
JAVA Support #
- Default version: 8
- Pre-installed OpenJDK version 8, 11, 12, 13 (OpenJDK10 not supported in FreeBSD)
- Pre-installed Apache Ant(TM) version 1.10.6
- Pre-installed Apache Maven version 3.6.3
- Pre-installed Gradle version 6.0.1
Docker Support #
Currently unsupported. See FreeBSD wiki about Docker for more details and FreeBSD wiki on Container Orchestration for more native solutions.