-
Notifications
You must be signed in to change notification settings - Fork 10
ALBS: Guide for Authorised Users
AlmaLinux Build System is a project designed to automate the processes of building packages and distribution. The pipeline was developed to build, test, sign and release packages. AlmaLinux Build System was created with the purpose to make these processes easier, faster, and to manage these processes more effectively. AlmaLinux Build System supports community repositories and SBOM integration into the pipeline is in the process.
You can find more information about AlmaLinux Build System and each component in the AlmaLinux Build System project.
To begin with, please, see the Unauthorized-User Guide. It contains general information that can also be helpful.
AlmaLinux Build System uses GitHub for authorization. Once you log in, you'll see the Build Feed and the sidebar menu.
Note: There's read-only access to the Build System that doesn't require authorization. It describes the information you can find in the Feed. Check the Read-Only Guide for more details.
Note: Errata and Releases options are available only for AlmaLinux Team members.
To start a new build go to the New Build option in the sidebar menu.
Fill in necessary fields:
- Product - choose the name of the product from the list
- Build platforms - you can choose a platform you need
- Build platform architectures - after choosing a platform, a field with architectures will appear with automatically chosen all supported architecture. You can remove the architectures you don't need
- Build flavors - optional, choose an additional repository to use for the build, like EPEL, for example.
- Linked builds - optional, enter build IDs to add them for this build. Don't forget to press Enter or click + sign to add build ID
- Mock options - optional, define your mock options here
Note: Separate builds have to be created if different platforms are needed. It's not recommended to create one build for different platforms.
Click Select projects to proceed.
Click Add project. There are a few options:
- git.almalinux.org - choose a repo name and tag/branch name from the list. The build system is integrated with git.almalinux.org and automatically pulls projects from it.
- Src-RPM URL - enter here the link of the source rpm
- Git reference - enter here links of the git repo and branch/tag name
Press Submit and Create a build to start the build.
Besides building RPM packages, it's possible to build modules in the AlmaLinux Build System. A module is a group of RPM packages that represent a component like an application, a language runtime, or a set of tools. Read more about modules in the Modularity project. To build modules, go to the New Build option and fill in the necessary fields. Press "Add a project" and activate the "Projects" option. That'll switch to the module's interface. Choose a repo from the git.almalinux.org list and add a tag/branch name, or add a source-rpm link or git link.
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.
AlmaLinux Build System supports user (community) repositories for users to create new projects and share them with others. This guide describes how to create and manage a new team or product.
Any AlmaLinux Build System user can create a new team - a group of users to maintain products.
In the Team section, you can see a list of existing teams and information about each of them - team name, owner, number of products and members.
Use the BIN button to delete a team.
Clicking on the information sign, products number and member number will give you more details and options:
Now you can see the user ID and username of each member. You can add or remove team members in this window. You need to choose their nicknames from the list to add a user or some users.
Click on the product number to see a list of products. You can click on a product name to see information about it.
There is one more available window - roles.
There are several types of roles:
- Сontributor - default role for a team user. A contributor can release new packages to this product or sign them.
- Manager - a user, who created this team, becomes its manager automatically. He has permission to add other users to the team, create a product, delete members/team/product, and assign roles to other members.
- Observer - a user with read-only access to view team structure or use a repository
- Product_maintainer - a user with access to release to the product
- Signer - a user with access to sign packages
Note: The team owner can't leave the team even if they aren't the team manager.
Click on the New button to create a new team, fill in your team's name and you are good to go.
There are two options in the Product section: Product Feed and New product.
To create a new product, you have to feel the necessary fields:
- Product name - for a short product name
- Product title - for a full product name
- Create for team - choose a team from the list
- Create from platforms - choose a platform/s
Here's an example:
The description field is optional but is helpful to get the product's purpose.
Press the Create button and wait for the Loading to complete. If something is wrong - you'll receive an error and a product won't be created.
Note: If you accidentally leave the page, the product will still be created if no errors occur.
Here's an example of created product:
There's also a BIN button to delete a product.
In the Products feed, you can see all existing products, information about them and build count. There's also a search bar to search for a product by its name or title.
You can add/remove a build to your product from the Build Feed. Click on a build you need and choose an option you need among Other Actions.
When you choose a product, you will see its installation link above all information about this product.
Before enabling the product's repo on your VM, you need to setup the COPR plugin. Click on the Documentation button to see instructions for the quick setup of the COPR plugin.