diff --git a/_data/snippets.yml b/_data/snippets.yml index 9d2b73bd718..bcf9601de64 100644 --- a/_data/snippets.yml +++ b/_data/snippets.yml @@ -33,6 +33,7 @@ all_note: | > * [macOS](/user/reference/osx/) > * [Windows](/user/reference/windows/) > * [FreeBSD](/user/reference/freebsd/) + > * [RHEL](/user/reference/rhel/) unix_note: | > For Language versions and other build-environment specific > information visit our reference pages: @@ -42,6 +43,7 @@ unix_note: | > * [Bionic](/user/reference/bionic/) > * [macOS](/user/reference/osx/) > * [FreeBSD](/user/reference/freebsd/) + > * [RHEL](/user/reference/rhel/) linux_note: | > For Language versions and other build-environment specific > information visit our reference pages: @@ -58,6 +60,7 @@ linux_windows_note: | > * [Bionic](/user/reference/bionic/) > * [Windows](/user/reference/windows/) > * [FreeBSD](/user/reference/freebsd/) + > * [RHEL](/user/reference/rhel/) concurrent_jobs: | The maximum number of concurrent jobs depends on the total system load, but one situation in which you might want to set a particular limit is: diff --git a/_includes/sidebar.html b/_includes/sidebar.html index 1eace36a7c3..187bcca4754 100644 --- a/_includes/sidebar.html +++ b/_includes/sidebar.html @@ -93,6 +93,7 @@

CI Environment Reference

  • macOS CI Environment Reference
  • Windows CI Environment Reference
  • FreeBSD CI Environment Reference
  • +
  • RedHat Enterprise Linux CI Environment Reference
  • Building on Multiple Operating Systems
  • Building on Multiple CPU Architectures
  • Environment Variables
  • diff --git a/user/installing-dependencies.md b/user/installing-dependencies.md index e8e9e409554..5e81fba9620 100644 --- a/user/installing-dependencies.md +++ b/user/installing-dependencies.md @@ -323,6 +323,26 @@ addons: ``` {: data-file=".travis.yml"} +## Installing Packages on RHEL + +To install packages that are not included in the default RHEL environment use `yum` in the `before_install` step of your `.travis.yml`: + +```yaml +before_install: + - su -m root -c 'yum install -y curl' +``` +{: data-file=".travis.yml"} + +For convenience, you can use the `yum` addon in your `.travis.yml`. For example, to install go and curl: + +```yaml +addons: + pkg: + - go + - curl +``` +{: data-file=".travis.yml"} + ## Installing Dependencies on Multiple Operating Systems 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: diff --git a/user/reference/rhel.md b/user/reference/rhel.md new file mode 100644 index 00000000000..f268568366e --- /dev/null +++ b/user/reference/rhel.md @@ -0,0 +1,99 @@ +--- +title: The RedHat Enterprise Linux Build Environment +layout: en + +--- + +## Overview + +This guide provides an overview of the packages, tools and settings available in the RHEL CI environment. + +You can use the following distribution: + +* [RHEL8](/user/reference/rhel/) **default** + +## Using RHEL distributions + +To use our RHEL build infrastructure, you can use the distribution above. + +## Default + +We use RHEL 8 as default. + +## Using RHEL + +To use RHEL, add the following to your your `.travis.yml`. + +```yaml +os: linux +dist: rhel8 +``` +{: data-file=".travis.yml"} + +Travis CI also supports the [Ubuntu Linux Build Environment](/user/reference/linux/), [Windows Build Environment](/user/reference/windows/) +and [macOS Build Environment](/user/reference/osx/). + +> RHEL is available on our hosted fully virtualized infrastructure. + + +## Environment common to all RHEL8 images + +The following versions of version control software and compilers are present on all RHEL 8 +builds, along with more language specific software 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.7.4. +* Available ruby versions: 2.5.9, 2.6.8, 2.7.4 +* Other ruby versions can be installed during build time: + +```yaml +language: ruby +rvm: + - 2.5 # RVM should install 2.5.9 for RHEL8 + - 2.7 # should use default pre-installed 2.7.4 +``` +{: data-file=".travis.yml"} + +## 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.8, 3.9 +* Pre-installed PyPy +* Pre-installed PIP + +## Go support + +* Pre-installed Go: 1.17 +* Other Go versions can be installed during build time by specifying the language versions with the go:-key. + + +## JAVA support + +* Default version: 11 +* Pre-installed OpenJDK version 8, 11, 17 +* Pre-installed Apache Ant(TM) version 1.10.12 +* Pre-installed Apache Maven version 3.6.3 +* Pre-installed Gradle version 6.3 + +## Docker + +Currently unsupported.