You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
title: The Ubuntu 20.04 (Focal Fossa) Build Environment
3
4
layout: en
@@ -16,177 +17,126 @@ dist: focal
16
17
```
17
18
{: data-file=".travis.yml"}
18
19
19
-
20
-
## Differences from the previous release images
21
-
22
-
Travis CI Ubuntu 20.04, Focal, includes the following changes and improvements:
23
-
24
-
### Third party apt-repositories removed
25
-
26
-
While third party apt-repositories are used during the image provisioning, they are all removed from the build image. This has two benefits; a) reduced risk of unrelated interference and b) faster apt-get updates.
27
-
28
-
To specify a third party apt-repository, you can [add the source with the apt addon](/user/installing-dependencies/#adding-apt-sources) and specify the packages. For example:
29
-
30
-
```yaml
31
-
dist: focal
32
-
addons:
33
-
apt:
34
-
sources:
35
-
- sourceline: 'git-core/ppa'
36
-
packages:
37
-
- git-ppa
38
-
```
39
-
{: data-file=".travis.yml"}
40
-
41
-
If you depend on these repositories in your build, you can use the following `source` line to get them back:
On the Ubuntu 20.04 based environment, to speed up boot time and improve performance we've disabled all services by default.
56
-
Add any services that you want to start to your `.travis.yml`:
57
-
58
-
59
-
```yaml
60
-
services:
61
-
- mysql
62
-
- redis
63
-
```
64
-
{: data-file=".travis.yml"}
65
-
66
20
## Environment common to all Ubuntu 20.04 images
67
21
68
22
The following versions of Docker, version control software and compilers are present on all Ubuntu 20.04 builds, along with more language specific software described in more detail in each language section.
69
23
70
-
All preinstalled software not provided by distro is installed from an official release --
71
-
either a prebuilt binary if available, or a source release built with default options.
24
+
All preinstalled software not provided by the distro is installed from an official release — either a prebuilt binary if available, or a source release built with default options.
72
25
For preinstalled language interpreters, a standard version manager like `rvm` is used if available for the language.
73
26
74
-
### Version control
27
+
### Version Control
75
28
76
-
| package | version |
77
-
|:--------|:---------|
78
-
| git | `2.45.2` |
79
-
| git-lfs | `2.9.2` |
80
-
| hg | `6.5.2` |
81
-
| svn | `1.13.0` |
29
+
| package | version|
30
+
|:---------|:----------|
31
+
| git |`2.48.1`|
32
+
| git-lfs |`2.9.2`|
33
+
| hg |`6.5.2`|
34
+
| svn |`1.13.0`|
82
35
{: style="width: 30%" }
83
36
84
-
### Compilers and Build toolchain
37
+
### Compilers and Build Toolchain
85
38
86
-
| package | version |
87
-
|:--------|:---------|
88
-
| clang | `16.0.0` |
89
-
| llvm | `18.0.0` |
90
-
| cmake | `3.29.0` |
91
-
| gcc | `9.4.0` |
92
-
| ccache | `3.7.7` |
93
-
| shellcheck | `0.10.0` |
94
-
| shfmt | `3.8.0` |
39
+
| package | version |
40
+
|:-------------|:----------|
41
+
| clang |`18.1.8`|
42
+
| cmake |`3.29.0`|
43
+
| gcc |`9.4.0`|
44
+
| ccache |`3.7.7`|
45
+
| shellcheck |`0.10.0`|
46
+
| shfmt |`3.8.0`|
95
47
{: style="width: 30%" }
96
48
97
49
To use the IBM Advance Toolchain v14 compilers under `ppc64le` architecture in Focal LXD image, use the following paths in your `.travis.yml`:
- Build Python Command: `sudo sh python_interpreter.sh`
134
86
135
87
### Docker
136
88
137
-
* Docker `26.1.4` is installed.
138
-
* docker-compose `2.27.1` is also available.
89
+
* Docker `28.0.1` is installed.
90
+
* docker-compose `v2.27.1` is also available.
139
91
140
92
## Ruby support
141
93
142
-
* Pre-installed Rubies: `2.5.9`, `2.7.6` and `3.3.0`.
143
-
* The default ruby is `3.3.0`.
94
+
* Pre-installed Rubies: `2.5.9`, `2.7.6` and `3.3.5`.
95
+
* The default ruby is `3.3.5`.
144
96
* Other ruby versions can be installed during build time.
145
97
146
98
## Python support
147
99
148
-
* Supported Python version is: `3.7` or higher as `2.7` has been sunsetted.
100
+
* Supported Python version is: `3.7` or higher as `2.7` has been sunset.
149
101
* Python `3.7.17` will be used by default when no language version is explicitly set.
150
102
* The following Python versions are preinstalled:
151
103
152
-
| alias | version |
153
-
| :----- | :------- |
154
-
| `3.6` | `3.7.17` |
155
-
| `3.8` | `3.8.18` |
156
-
| `3.9` | `3.9.18` |
157
-
| `3.12` | `3.12.0` |
104
+
| alias | version |
105
+
| :----- | :--------|
106
+
|`3.7`|`3.7.17`|
107
+
|`3.8`|`3.8.10`|
108
+
|`3.9`|`3.9.18`|
109
+
|`3.12`|`3.12.4`|
158
110
{: style="width: 30%" }
159
111
160
112
## JavaScript and Node.js support
161
113
162
-
* For builds specifying `language: node_js`, `nvm` is automatically updated to the latest version at build time. For other builds, the stable version at image build time has been selected, which is `0.39.7`.
114
+
* For builds specifying `language: node_js`, `nvm` is automatically updated to the latest version at build time. For other builds, the stable version at image build time has been selected.
163
115
* The following NodeJS versions are preinstalled: `4.9.1`, `6.17.1`, `8.17.0`, `10.24.1`, `12.22.12`, `14.21.3`, `16.15`, `16.20.2`, `18.20.3` and `20.14.0`.
164
116
165
117
## Go support
166
118
167
119
* Pre-installed Go: `1.11.1`.
168
120
169
-
* Other Go versions can be installed during build time by specifying the language versions with the `go:`-key.
121
+
* Other Go versions can be installed during build time by specifying the language versions with the `go:`key.
170
122
171
123
## JVM (Clojure, Groovy, Java, Scala) support
172
124
173
125
* Pre-installed JVMs: `openjdk8`, `openjdk9`, `openjdk10`, and `openjdk11` on x86, default is `openjdk11`.
174
-
175
126
* Other JDKs, including Oracle's, can be acquired if available by specifying `jdk`.
127
+
* The following table summarizes the pre-installed JVM tooling versions:
176
128
177
-
* The following table summarizes the Pre-installed JVM tooling versions:
178
-
179
-
| package | version |
180
-
|:--------|:--------|
181
-
| gradle | `8.3` |
182
-
| maven | `3.9.4` |
183
-
| groovy | `3.0.17` |
129
+
| package | version |
130
+
|:--------|:---------|
131
+
| gradle |`8.3`|
132
+
| maven |`3.9.4`|
133
+
| groovy |`4.0.15`|
184
134
{: style="width: 30%" }
185
135
186
136
## Perl support
187
137
188
138
* Default version on Focal is `5.32.0`
189
-
* Supported versions `5.32` and `5.33` can be installed by using the `perl:`-key.
139
+
* Supported versions `5.32` and `5.33` can be installed by using the `perl:`key.
190
140
*`TAP::Harness` v3.42 and `cpanm` (App::cpanminus) version 1.7044 are also pre-installed.
191
141
192
142
## PHP support
@@ -196,22 +146,38 @@ To use the IBM Advance Toolchain v14 compilers under `amd64` architecture in Foc
196
146
197
147
| alias | version |
198
148
| :----- | :------- |
199
-
| `7.4` | `7.4.6` |
149
+
|`7.4`|`7.4.6`|
200
150
{: style="width: 30%" }
201
151
202
152
## Databases and services
203
153
204
-
The following services and databases are preinstalled but but do not run by default.
205
-
To use one in your build, add it to the services key in your `travis.yml`:
154
+
The following services and databases are preinstalled but do not run by default.
155
+
To use one in your build, add it to the services key in your `travis.yml`:
206
156
207
-
| service | version |
208
-
|:-----------|:---------------|
209
-
| mongodb | `4.4.29` |
210
-
| mysql | `8.0.37` |
211
-
| redis | `7.2.5` |
212
-
| postgresql | `13.15` |
157
+
| service | version |
158
+
|:-----------|:---------|
159
+
| mongodb |`4.4.29`|
160
+
| mysql |`8.0.41`|
161
+
| redis |`7.4.2`|
162
+
| postgresql |`13.20`|
213
163
{: style="width: 30%" }
214
164
165
+
### Android Support
166
+
167
+
For Android builds, the environment provides comprehensive support with the following pre-installed components:
To use Android, specify `language: android` in your `.travis.yml` and refer to the [Android Build Environment Guide](/user/languages/android/) for additional configuration details.
179
+
215
180
## Other Ubuntu Linux Build Environments
216
181
217
-
You can have a look at the [Ubuntu Linux overview page](/user/reference/linux/) for the different Ubuntu Linux build environments you can use.
182
+
For details on other Ubuntu Linux build environments available on Travis CI, please refer to the [Ubuntu Linux overview page](/user/reference/linux/).
0 commit comments