Skip to content

ALBS: Unauthorized User Guide

Sonia Boldyreva edited this page Aug 1, 2023 · 1 revision

About the AlmaLinux Build System

The AlmaLinux Build System enables transparency into the process of building AlmaLinux from packages from their source to the release into the public repositories. The project was created to automate the process of creating the distribution.

This Guide describes what build process information can be seen by every user without authorization - guest view/unauthorized-user view.

Note: Authorization via GitHub is required in order to see expanded information and options within the build system.

Where do we source our sources from? How do we build those sources?

The process in general looks like this:

  • We clone the upstream sources from the CentOS git repositories. These are the same source that Red Hat uses to build their packages. The AlmaLinux Git Service git.almalinux.org uses git-listener to get sources from git.centos.org. Git-listener automatically records data from the CentOS Git Service and creates a new project or updates an existing one. Blobs are uploaded to sources.almalinux.org. The AlmaLinux Build System pulls in changes from the Git service.
  • De-branding: any trademarks are replaced at this point, and the .alma postfix is added to the end of the modified packages' "Release" field to distinguish our packages from upstream ones. You can also check the Modified packages page for more details. :information_source: Note: Most RPMs are rebuilt directly from the sources. The rebranding is required when any of the text/visual displays says Red Hat or RHN license manager enforcements.
  • Our build system is used to build packages with notarization (SBOM).
  • Our testing system runs automated package Tests & we fix issues.
  • Release!

The Build Feed Screen

As an unauthorized user, one can see the Build System Feed. It contains the list of builds, including details like what package was built, the link to the project on the AlmaLinux Git Server, build platforms, build and test statuses, author and date-time. A build can also have additional information such as sign and release status, build modules and last but not least - sign whether the build/package is notarized or not.

ℹ️ AlmaLinux Build System has SBOM implemented into its pipeline, so a user can see if the build in notarized and check the chain of trust. For more information please see the SBOM integration page.

The list is sorted by date-time:

image

Note: Click on the project's branch or tag to open it on the Git Server.

If you click on the Details icon, you'll get more information about the build:

  • Build ID, author and when the build was created
  • The Summary field shows:
    • Project names with links to the branch or tags on the AlmaLinux Git Server. If the project is created from the Git Server, it'll automatically pull changes from it.
    • Build status for each platform
      • idle - build has not started yet, it's in the queue
      • build started - build has started and is currently in the process
      • excluded - build was cancelled/stopped
      • build done - build has completed successfully
      • build failed - build has completed unsuccessfully

Note: The same status will appear while building tests. If you click on the status it will show you build and test logs.

  • Beneath the Summary section you can see a few more details about the build:
    • Sign - will show you if the build was already signed and using what key
    • Linked build - will show extra builds used for this build
    • Mock options - will show mock options used for this build
  • If you switch to any platform, you'll see what subpackages and repositories were used for the build, repository links, and available actions (for example, restart build test task).

Note:

  • Click on the repo link to open the repo.
  • Click on the build status to see the logs.
  • Click on the subpackage to start the download.

How Can I Find a Build?

The search bar appears after clicking the loupe sign.

read-only-search-bar

The AlmaLinux Build System offers you different options to find/filter a particular build. The more information you provide, the more specific your search will be. The options are:

  • Build Author
  • Project Name
  • Git tag, branch or SRPM (source RPM)
  • RPM package name
  • RPM package epoch
  • RPM package version
  • RPM release release
  • RPM package architecture
  • Platform
  • Build task architecture You can also activate the Build is released option if needed for the search.

Then press Apply or Reset in case you need to sill new search options.

Logs

There are two ways you can open the build and test logs:

  • Click on the status circle
  • Click on the build status after going to the platform in Details

Both will show you all the build and test logs. Click on any .log file to open information.

read-only-build-logs

Note: In case builds for each platform are failed you can only open logs for the i686 platform. As it's the first platform to start builds if it fails - builds for other platforms will automatically fail too.

Signing and Releasing

Only AlmaLinux Packaging Team members can sign and release packages. In the Feed, unauthorized users can see a successful or a failed status of the build and what PGP key was used for signing. In the Releases unauthorized users can see the list of released packages, their release status (completed or scheduled for release), user who is releasing a package, to what product a package belongs, and a date-time. image Clicking to the information icon on the right opens more details on a release - a user can see now the release ID, publication URLS and packages list that shows to which repository is a packaga/source released to, and available logs. image