Playbook

Install CI Dependencies

git, curl, jq, rsync and the other commands CI jobs expect, plus an optional compiler.

Category

Packages

Time limit per server

20 minutes

Temporary failures

Retried automatically, up to 2 times

Version

1.0

Supported systems

Ubuntu 22.04+, Debian 12+, RHEL-compatible 8+ (AlmaLinux, Rocky Linux, RHEL, CentOS Stream, Oracle Linux), Amazon Linux 2023+

Options

As they appear on the run form, with their defaults.

Install a compiler and make

On or off

For jobs that build native code or compile packages from source.

Default: On

When to use it

On a server that will run CI jobs, before Prepare CI Runner. The CI/CD Self-Hosted Runner Host template runs both.

Choosing the options

Install a compiler and make — keep it on if any job builds native code, compiles a language extension or installs packages that compile from source (common with Python, Ruby and Node.js native modules). Turn it off for runners that only run containers.

What it does on the server

  1. Checks each command CI jobs commonly call: git, curl, wget, jq, unzip, zip, tar, xz, rsync, an SSH client and GnuPG.
  2. Installs only the missing ones, from the server's own repositories. Nothing already installed is replaced.
  3. Installs Git LFS where the distribution packages it.
  4. With the compiler option on, installs a C and C++ compiler and make.

After the run

The result lists the versions of Git and Git LFS. Run Prepare CI Runner next.

Common problems

"Git LFS is not available from this server's repositories." — Jobs that check out Git LFS files need it installed another way, for example from Git LFS's own package repository.

"… is still not available after installing …" — The package installed but does not provide the command on this distribution. Install it manually and tell support which distribution you use.