Skip to content

Commit b0a290f

Browse files
Update Ubuntu 22.04 Build Environment docs
1 parent 32f0d04 commit b0a290f

File tree

3 files changed

+80
-121
lines changed

3 files changed

+80
-121
lines changed

user/reference/bionic.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
```markdown
21
---
32
title: The Ubuntu 18.04 Build Environment
43
layout: en

user/reference/focal.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
```markdown
21
---
32
title: The Ubuntu 20.04 (Focal Fossa) Build Environment
43
layout: en

user/reference/jammy.md

Lines changed: 80 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -16,165 +16,126 @@ dist: jammy
1616
```
1717
{: data-file=".travis.yml"}
1818
19-
20-
## Differences from the previous release images
21-
22-
Travis CI Ubuntu 22.04, Jammy, 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: jammy
32-
addons:
33-
apt:
34-
sources:
35-
- sourceline: 'ppa:chris-lea/redis-server'
36-
packages:
37-
- redis-tools
38-
- redis-server
39-
```
40-
{: data-file=".travis.yml"}
41-
42-
If you depend on these repositories in your build, you can use the following `source` line to get them back:
43-
44-
| package | source |
45-
|:---------------------|:-----------------------------|
46-
| docker | `deb https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable` |
47-
| google-chrome-stable | `deb http://dl.google.com/linux/chrome/deb/ stable main` |
48-
| git-ppa | `ppa:git-core/ppa` |
49-
| haskell | `ppa:hvr/ghc` |
50-
| pollinate | `ppa:pollinate/ppa` |
51-
| redis | `ppa:chris-lea/redis-server` |
52-
{: style="width: 80%" }
53-
54-
### Services disabled by default
55-
56-
On the Ubuntu 22.04 based environment, to speed up boot time and improve performance we've disabled all services by default.
57-
Add any services that you want to start to your `.travis.yml`:
58-
59-
60-
```yaml
61-
services:
62-
- mysql
63-
- redis
64-
```
65-
{: data-file=".travis.yml"}
66-
6719
## Environment common to all Ubuntu 22.04 images
6820
69-
The following versions of Docker, version control software and compilers are present on all Ubuntu 22.04 builds, along with more language specific software described in more detail in each language section.
70-
71-
All preinstalled software not provided by distro is installed from an official release --
72-
either a prebuilt binary if available, or a source release built with default options.
21+
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.
7322
For preinstalled language interpreters, a standard version manager like `rvm` is used if available for the language.
7423

75-
### Version control
24+
### Version Control
7625

77-
| package | version |
78-
|:--------|:---------|
79-
| git | `2.36.1` |
80-
| git-lfs | `3.0.2` |
81-
| hg | `5.3` |
82-
| svn | `1.14.1` |
26+
| package | version |
27+
|:---------|:----------|
28+
| git | `2.48.1` |
29+
| git-lfs | `3.0.2` |
30+
| hg | `6.5.2` |
31+
| svn | `1.14.1` |
8332
{: style="width: 30%" }
8433

85-
### Compilers and Build toolchain
86-
87-
| package | version |
88-
|:--------|:---------|
89-
| clang | `7.0.0` |
90-
| llvm | `14.0.0` |
91-
| cmake | `3.16.8` |
92-
| gcc | `11.2.0` |
93-
| ccache | `4.5.1` |
94-
| shellcheck | `0.7.2` |
95-
| shfmt | `3.2.1` |
96-
{: style="width: 30%" }
34+
### Compilers and Build Toolchain
9735

36+
| package | version |
37+
|:-----------|:----------|
38+
| clang | `18.1.8` |
39+
| cmake | `3.29.0` |
40+
| gcc | `11.4.0` |
41+
| ccache | `4.5.1` |
42+
| shellcheck | `0.10.0` |
43+
| shfmt | `3.8.0` |
44+
{: style="width: 30%" }
9845

9946
### Docker
10047

101-
* Docker `20.10.12` is installed.
102-
* docker-compose `1.29.2` is also available.
48+
* Docker `28.0.1` (build 068a01e) is installed.
49+
* docker-compose `v2.27.1` is also available.
10350

104-
## Ruby support
51+
### Ruby Support
10552

106-
* Pre-installed Rubies: `3.0.4`, `3.1.2`.
53+
* Pre-installed Rubies: `3.0.4` and `3.1.2`.
10754
* The default ruby is `3.1.2`.
10855
* Other ruby versions can be installed during build time.
10956

110-
## Python support
57+
### Python Support
11158

112-
* Supported Python version is: `3.7.7` or higher as `2.7` has been sunsetted.
113-
* Python `3.10.5` will be used by default when no language version is explicitly set.
114-
* The following Python versions are preinstalled:
59+
* Supported Python version is: **3.8 or higher** as Python 2.7 has been sunset.
60+
* The following Python versions are available via pyenv:
11561

116-
| alias | version |
117-
| :----- | :------- |
118-
| `3.7` | `3.7.7` |
119-
| `3.8` | `3.8.3` |
120-
| `3.9` | `3.9.13` |
121-
| `3.10` | `3.10.5` |
62+
| alias | version |
63+
|:-------|:----------|
64+
| `3.8` | `3.8.18` |
65+
| `3.12` | `3.12.4` |
12266
{: style="width: 30%" }
12367

68+
### JavaScript and Node.js Support
12469

125-
## JavaScript and Node.js support
126-
127-
* 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.1`.
128-
* The following NodeJS versions are preinstalled: `14.18.1`, `16.13.0` and `17.1.0`.
70+
* For builds specifying `language: node_js`, `nvm` is automatically updated to the latest version at build time.
71+
* The default Node.js version available on the machine is:
72+
* `v18.20.3`
12973

130-
## Go support
74+
### Go Support
13175

132-
* Pre-installed Go: `1.18.3`.
76+
* Pre-installed Go:
77+
* `go version go1.23.6 linux/amd64`
78+
Additional Go versions can be installed during build time by specifying the language version with the `go:` key.
13379

134-
* Other Go versions can be installed during build time by specifying the language versions with the `go:`-key.
135-
136-
## JVM (Clojure, Groovy, Java, Scala) support
137-
138-
* Pre-installed JVMs: `openjdk11`, and `openjdk17` on x86, default is `openjdk11`.
80+
### JVM (Clojure, Groovy, Java, Scala) Support
13981

82+
* Pre-installed JVMs:
83+
* Default Java:
84+
* `openjdk version "11.0.21" 2023-10-17 LTS`
14085
* Other JDKs, including Oracle's, can be acquired if available by specifying `jdk`.
86+
* The following JVM tooling is preinstalled:
14187

142-
* The following table summarizes the Pre-installed JVM tooling versions:
143-
144-
| package | version |
145-
|:--------|:--------|
146-
| gradle | `5.1.1` |
147-
| maven | `3.6.3` |
148-
| groovy | `2.4.21`|
88+
| package | version |
89+
|:--------|:----------|
90+
| gradle | `8.3` |
91+
| maven | `3.9.4` |
92+
| groovy | `4.0.15` |
14993
{: style="width: 30%" }
15094

151-
## Perl support
95+
### Perl Support
15296

153-
* Default version on Jammy is `5.34.0`
154-
* Supported versions `5.33` can be installed by using the `perl:`-key.
97+
* Default version on Jammy is `5.34.0`.
98+
* Supported versions (e.g. `5.33`) can be installed using the `perl:` key.
15599

156-
## PHP support
100+
### PHP Support
157101

158102
* For dynamic runtime selection, `phpenv` is available.
159103
* The following PHP versions are preinstalled:
160104

161-
| alias | version |
162-
| :----- | :------- |
163-
| `8.1` | `8.1.2` |
105+
| alias | version |
106+
|:------|:---------|
107+
| `8.1` | `8.1.2` |
164108
{: style="width: 30%" }
165109

166-
## Databases and services
110+
### Databases and Services
167111

168-
The following services and databases are preinstalled but but do not run by default.
169-
To use one in your build, add it to the services key in your `travis.yml` :
112+
The following services and databases are preinstalled but do not run by default.
113+
To use one in your build, add it to the `services` key in your `.travis.yml`:
170114

171-
| service | version |
172-
|:-----------|:---------------|
173-
| mysql | `8.0.29` |
174-
| redis | `6.0.6` |
175-
| postgresql | `14.3` |
115+
| service | version |
116+
|:-------------|:----------|
117+
| mongodb | `6.0.20` |
118+
| mysql | `8.0.41` |
119+
| redis | `7.4.2` |
120+
| postgresql | `14.17` |
176121
{: style="width: 30%" }
177122

123+
### Android Support
124+
125+
For Android builds, the environment provides comprehensive support with the following pre-installed components:
126+
127+
- **Android SDK Components** – Installed components include:
128+
- `tools`
129+
- `platform-tools`
130+
- `build-tools;30.0.0`
131+
- `platforms;android-30`
132+
- `extras;google;google_play_services`
133+
- `extras;google;m2repository`
134+
- `extras;android;m2repository`
135+
136+
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.
137+
178138
## Other Ubuntu Linux Build Environments
179139

180-
You can have a look at the [Ubuntu Linux overview page](/user/reference/linux/) for the different Ubuntu Linux build environments you can use.
140+
For details on other Ubuntu Linux build environments available on Travis CI, please refer to the [Ubuntu Linux overview page](/user/reference/linux/).
141+
```

0 commit comments

Comments
 (0)