Skip to main content
CentOS Stream Kernel Documentation
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Kernel Git Repository Information

There are many source-git and dist-git repositories that are used to construct Red Hat kernels. Some of these repositories are used for testing (CKI), but most of these repositories are used for code that is shipped to customers. Red Hat kernel git repositories use ‘main’ in place of git’s default ‘master’ branch.

source-git repositories

The source-git repositories house the main code base, while the dist-git repositories maintain everything for source RPMs including the specs and lookaside cache. See the dist-git repo for more information on how this works.

Public source-git repositories can be used by Red Hat contributors, Community Contributors, and all Partner Engineer contributors. Private source-git repositories are restricted to Red Hat contributors and Partner contributors. The dist-git repositories are updated via automations so public interaction with them typically can not occur.

The general model of these repositories is that the main branch tracks the current minor development, and other branches track old minor development (commonly referred to as ‘z-stream’). Some repositories may also contain Real Time kernel branches that are tagged with “-rt”.

For example, the rhel-8 repository contains branches and the main branch (as of writing this section) is for 8.5 development

remotes/origin/8.0 +
remotes/origin/8.1 +
remotes/origin/8.2 +
remotes/origin/8.2-rt +
remotes/origin/8.3 +
remotes/origin/8.3-rt +
remotes/origin/8.4 +
remotes/origin/8.4-rt +
remotes/origin/HEAD -> origin/main +
remotes/origin/main +
remotes/origin/main-rt

Public

Private

Private repositories contain Red Hat private information and partner data and are restricted to Red Hat employees only. These repositories will never be made public.

  • RHEL-10

    • See CentOS-Stream for tree location for main development. The CentOS-Stream 10 repository should be used for general development. The RHEL-10 tree contains only z-stream branches.

  • RHEL-9

    • Future tree for RHEL-9 development. See CentOS-Stream for tree location for main development. The CentOS-Stream 9 repository should be used for general development. The RHEL-9 tree only contains z-stream branches.

  • RHEL-8

    • Private, but various sanitized versions exist through CentOS-Stream or the partner program.

  • RHEL-5

  • RHEL-6

  • RHEL-7

  • RHEL-alt-7 (archived)

  • Embargoed – with additional restricted access.

    • In some cases, these are Red Hat internal only. Used to resolve CVE and other partner-related embargoed issues.

Private Sandbox

Useful to test webhooks, internal scripts, user process, user’s scripts, etc.

dist-git repositories

Public source-git repositories can be used by Red Hat contributors, Community Contributors, and all Partner Engineer contributors. Private source-git repositories are restricted to Red Hat contributors and Partner contributors. The dist-git repositories are updated via automations so public interaction with them typically can not occur.

Name Location Type

CentOS-Stream 8 and above

CentOS-Stream Gitlab Dist-git

Public

RHEL 7.9 and above

RHEL Gitlab Dist-git

Private (internal)

All dist-git repos

pkgs.devel.redhat.com

Private (internal)

Notes;

  • pkgs.devel.redhat.com is still in use, but not typically interacted with. It contains all dist-git repos including as far back as RHEL 3.

  • Mirroring occurs between y-stream dist-git branches between CentOS-Stream and RHEL dist-git.

CI repositories

The kernel workflow relies heavily on CI automation which is implemented in various repositories under the CKI namespace.

Name Type Description

CKI

public

All CKI code repositories

Main pipeline implementation

public

Main repository of the CKI pipeline implementation. When in doubt, use this to report issues.

Pipeline runs

public group, specific projects restricted

Pipeline runs and logs. People don’t need to access the projects directly but through merge request links unless setting things up.

DataWarehouse

DataWarehouse is the CKI database and dashboard. It includes build and test information for all non-embargoed CKI runs. Data for public kernels (upstream, CentOS Stream) is publicly readable, access to RHEL kernel data requires sign in with Red Hat SSO.

Name Type Description

DataWarehouse

Public

CKI database and dashboard.

Test Repositories

The centos-stream/tests/kernel namespace contains various repositories related to kernel testing, the most prominent of which are listed below. Each of these repositories allow public contributions via merge request, which must be approved by a member of the Red Hat CKI team. All merge requests are gated on a standard set of linting checks, in addition to verifying that internal contributors do not commit code exposing internal URLs not permitted by the info/allowed-hosts.txt file.

Name Type Description

Kernel Tests

Public

Test code for the kernel and its associated userspace components

kpet-db

Public

A collection of YAML and Jinja2 templates describing the tests CKI project runs on Linux kernels, conditions for running them, and where to run them.

QE Pipeline Definition

Public definitions, internal pipelines

A collection of Gitlab CI pipeline definitions that are used by Red Hat quality engineers to test the kernel beyond the scope of CKI. While the definitions are publicly viewable, all pipeline execution are internal-only.