Skip to content

Commit ffd5b14

Browse files
Pezi777michal-at-traviscitanzislam
authored
New OS docs (#2730)
* new freebsd file created * add more details and supported versions * link to new OS added * link to new OS added * link to other OS added * links to other OS added * freebsd info added * add freebsd to OS snippet * freebsd info on updating openjdk8 added * freebsd added to building c project * added freebsd to python test example * added default compilerf * added default compiler version * added supported Julia version * cleaning up old remarks * Update user/installing-dependencies.md Co-authored-by: Tanzinul Islam <[email protected]> * Update java.md * native container orch in freebsd Co-authored-by: Michał Rybiński <[email protected]> Co-authored-by: Tanzinul Islam <[email protected]>
1 parent a5deb19 commit ffd5b14

File tree

8 files changed

+192
-2
lines changed

8 files changed

+192
-2
lines changed

_data/snippets.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ all_note: |
3232
> * [Bionic](/user/reference/bionic/)
3333
> * [macOS](/user/reference/osx/)
3434
> * [Windows](/user/reference/windows/)
35+
> * [FreeBSD](/user/reference/freebsd/)
3536
unix_note: |
3637
> For Language versions and other build-environment specific
3738
> information visit our reference pages:
@@ -40,6 +41,7 @@ unix_note: |
4041
> * [Xenial](/user/reference/xenial/)
4142
> * [Bionic](/user/reference/bionic/)
4243
> * [macOS](/user/reference/osx/)
44+
> * [FreeBSD](/user/reference/freebsd/)
4345
linux_note: |
4446
> For Language versions and other build-environment specific
4547
> information visit our reference pages:
@@ -55,6 +57,7 @@ linux_windows_note: |
5557
> * [Xenial](/user/reference/xenial/)
5658
> * [Bionic](/user/reference/bionic/)
5759
> * [Windows](/user/reference/windows/)
60+
> * [FreeBSD](/user/reference/freebsd/)
5861
concurrent_jobs: |
5962
The maximum number of concurrent jobs depends on the total system load, but
6063
one situation in which you might want to set a particular limit is:

_includes/c11-cpp11-and-beyond-and-toolchains.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,23 @@ before_install:
9898
```
9999
{: data-file=".travis.yml"}
100100

101+
### GCC on FreeBSD
102+
103+
Travis CI FreeBSD image ships with GCC 10.0.0 (it's not in the base system by default).
104+
105+
To upgrade GCC to a more recent version, install the appropriate version from packages; see below for examples:
106+
107+
```yaml
108+
os: freebsd
109+
addons:
110+
pkg:
111+
- gcc10
112+
env:
113+
- CC=gcc10
114+
- CXX=g++10
115+
```
116+
{: data-file=".travis.yml"}
117+
101118
### Clang on Linux
102119

103120
* [Precise](/user/reference/precise) ships with Clang 3.4
@@ -204,12 +221,34 @@ matrix:
204221

205222
You can find the `clang` version shipped by Xcode [here](https://trac.macports.org/wiki/XcodeVersionInfo).
206223

224+
### Clang on FreeBSD
225+
226+
> Clang is the default compiler on FreeBSD
227+
228+
FreeBSD ships with Clang 8.0.1
229+
230+
To upgrade Clang to a more recent version, install the appropriate version from packages; see below for examples:
231+
232+
```yaml
233+
os: freebsd
234+
addons:
235+
pkg:
236+
- llvm90
237+
env:
238+
- CC=/usr/local/bin/clang90 # llvm90 installs it to /usr/local/bin/clang90
239+
- CXX=/usr/local/bin/clang++90 # llvm90 installs it to /usr/local/bin/clang++90
240+
```
241+
{: data-file=".travis.yml"}
242+
243+
> Clang is the default compiler on FreeBSD
244+
207245
#### CMake
208246

209247
* [Precise](/user/reference/precise) ships with CMake 2.8.7
210248
* [Trusty](/user/reference/trusty) ships with CMake 3.9.2
211249
* [Xenial](/user/reference/xenial) ships with CMake 3.12.4
212250
* [Bionic](/user/reference/bionic) ships with CMake 3.12.4
251+
* [FreeBSD](/user/reference/freebsd) ships with CMake 3.15.5
213252

214253
You can upgrade cmake to 3.2.3 on Precise from the `george-edison55-precise-backports` source (note that the `cmake-data` package contains dependencies which Aptitude does not automatically resolve), c.f.
215254

user/installing-dependencies.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,26 @@ rvm use $TRAVIS_RUBY_VERSION # optionally, switch back to the Ruby version you n
303303

304304
> You can also have a look at the [Homebrew](https://config.travis-ci.com/ref/job/addons/homebrew) section in our [Travis CI Build Config Reference](https://config.travis-ci.com/).
305305

306+
## Installing Packages on FreeBSD
307+
308+
To install packages that are not included in the default FreeBSD environment use `pkg` in the `before_install` step of your `.travis.yml`:
309+
310+
```yaml
311+
before_install:
312+
- su -m root -c 'pkg install -y curl'
313+
```
314+
{: data-file=".travis.yml"}
315+
316+
For convenience, you can use the `pkg` addon in your `.travis.yml`. For example, to install go and curl:
317+
318+
```yaml
319+
addons:
320+
pkg:
321+
- go
322+
- curl
323+
```
324+
{: data-file=".travis.yml"}
325+
306326
## Installing Dependencies on Multiple Operating Systems
307327

308328
If you're testing on both Linux and macOS, you can use both the APT addon and the Homebrew addon together. Each addon will only run on the appropriate platform:

user/languages/python.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Minimal example:
2525
{: data-file=".travis.yml"}
2626
</aside>
2727
28-
{{ site.data.snippets.linux_note }}
28+
{{ site.data.snippets.unix_note }}
2929
3030
{: .warning}
3131
> Python builds are not available on the macOS and Windows environments.
@@ -169,6 +169,9 @@ jobs:
169169
include:
170170
- name: "Python 3.8.0 on Xenial Linux"
171171
python: 3.8 # this works for Linux but is ignored on macOS or Windows
172+
- name: "Python 3.6.10 on FreeBSD"
173+
os: freebsd
174+
language: python
172175
- name: "Python 3.7.4 on macOS"
173176
os: osx
174177
osx_image: xcode11.2 # Python 3.7.4 running on macOS 10.14.4

user/reference/freebsd.md

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
---
2+
title: The FreeBSD Build Environment
3+
layout: en
4+
5+
---
6+
7+
## Overview
8+
9+
This guide provides an overview of the packages, tools and settings available in the FreeBSD CI environment.
10+
11+
You can use the following distribution:
12+
13+
* [FreeBSD 12.1](/user/reference/freebsd/) **default**
14+
15+
## Using FreeBSD distributions
16+
17+
To use our FreeBSD build infrastructure, you can use the distribution above.
18+
19+
## Default
20+
21+
We use FreeBSD 12.1 as default.
22+
23+
## Using FreeBSD
24+
25+
To use FreeBSD, add the following to your your `.travis.yml`.
26+
27+
```yaml
28+
os: freebsd
29+
```
30+
{: data-file=".travis.yml"}
31+
32+
Travis CI also supports the [Ubuntu Linux Build Environment](/user/reference/linux/), [Windows Build Environment](/user/reference/windows/)
33+
and [macOS Build Environment](/user/reference/osx/).
34+
35+
> FreeBSD is available on our hosted fully virtualized infrastructure.
36+
37+
### FreeBSD improvements
38+
39+
FreeBSD includes the following changes and improvements:
40+
41+
#### Third party pkg-repositories removed
42+
43+
To specify a third party pkg-repository, you can add the source with the pkg addon and specify
44+
the packages.
45+
46+
For example:
47+
48+
```yaml
49+
os: freebsd
50+
addons:
51+
pkg:
52+
- go
53+
- curl
54+
```
55+
{: data-file=".travis.yml"}
56+
57+
## Environment common to all FreeBSD 12.1 images
58+
59+
The following versions of version control software and compilers are present on all FreeBSD
60+
12.1 builds, along with more language specific software described in detail below.
61+
62+
Any preinstalled software not provided by the distro is installed from ports – either a prebuilt binary
63+
if available, or a source release built with default options. For preinstalled language
64+
interpreters, a standard version manager like rvm is used, if available for the language.
65+
66+
## Ruby support
67+
68+
* Pre-installed Rubies: 2.6.5.
69+
* 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)
70+
* Other ruby versions can be installed during build time:
71+
72+
```yaml
73+
language: ruby
74+
rvm:
75+
- 2.5 # RVM should install 2.5 for FreeBSD
76+
- 2.6 # should use default pre-installed 2.6.5
77+
```
78+
{: data-file=".travis.yml"}
79+
80+
## C and C++ support
81+
82+
Pre-install compilers and linkers:
83+
* Make
84+
* GNU autotools
85+
* Scons
86+
* Shellcheck
87+
* Shfmt
88+
* Clang
89+
* GCC
90+
* CMake
91+
* Ccache
92+
* Llvm
93+
94+
## Python support
95+
96+
* Supported Python versions: 2.7, 3.4 or higher.
97+
* Pre-installed Python versions: 3.6 and 3.8.
98+
* Pre-installed PyPy
99+
* Pre-installed PIP
100+
101+
## Go support
102+
103+
* Pre-installed Go: 1.11
104+
* Other Go versions can be installed during build time by specifying the language versions with the go:-key.
105+
106+
107+
## Julia support
108+
109+
* Supported Julia versions: starting with version 0.7 and higher
110+
111+
## JAVA support
112+
113+
* Default version: 8
114+
* Pre-installed OpenJDK version 8, 11, 12, 13 (OpenJDK10 not supported in FreeBSD)
115+
* Pre-installed Apache Ant(TM) version 1.10.6
116+
* Pre-installed Apache Maven version 3.6.3
117+
* Pre-installed Gradle version 6.0.1
118+
119+
## Docker
120+
121+
Currently unsupported. See [FreeBSD wiki](https://wiki.freebsd.org/Docker) for more details and https://wiki.freebsd.org/ContainerOrchestration for more native solutions.

user/reference/linux.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ dist: xenial
3232
```
3333
{: data-file=".travis.yml"}
3434
35-
Travis CI also supports the [Windows Build Environment](/user/reference/windows/) and [macOS Build Environment](/user/reference/osx/).
35+
Travis CI also supports the [Windows Build Environment](/user/reference/windows/), [macOS Build Environment](/user/reference/osx/) and [FreeBSD Build Environment](/user/reference/freebsd/).
3636
3737
## Migration Guides
3838

user/reference/osx.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ os: osx
3737
```
3838
{: data-file=".travis.yml"}
3939
40+
Travis CI also supports the [Ubuntu Linux Environment](/user/reference/linux/), [Windows Environment](/user/reference/windows/) and [FreeBSD Environment](/user/reference/freebsd/).
41+
4042
## macOS Version
4143
4244
Travis CI uses macOS 10.13 and Xcode 9.4.1 by default. You can use another version of macOS (and Xcode) by specifying the corresponding `osx_image` key from the following table:

user/reference/windows.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ os: windows
2222
```
2323
{: data-file=".travis.yml"}
2424
25+
Travis CI also supports the [Ubuntu Linux Environment](/user/reference/linux/), [macOS Build Environment](/user/reference/osx/) and [FreeBSD Environment](/user/reference/freebsd/).
26+
2527
## Windows Version
2628
2729
Only **Windows Server, version 1809** is currently supported.

0 commit comments

Comments
 (0)