Files
Factory/STAGING.md

2.4 KiB

The default staging setup of Factory

Every project pull request get at least one main staging setup. This is defined inside of the staging.config file of the Factory git project.

The name of the building project in OBS is predictable based on the gitea pull request number. For example the pull request to https://src.opensuse.org/openSUSE/Factory number 42 will lead to a project

openSUSE:Factory:PullRequest:42

Inside this project only the packages which have a source change are built by default.

The factory release manager could modify the project to rebuild more packages. However, by default we want to do this via QA projects instead.

QA Projects

QA projects are defined as well inside of the staging.config file in the "QA" section. This section is referencing a project inside of OBS to be used as a template. This template, basically only the project meta, will get transfered to a given sub project.

These templates are currently only used when a defined gitea label got set on the pull request. The removal of the label will also delete the project.

Existing QA Projects for Factory

  • openSUSE:Factory:PullRequest:0-Base

This gets added as :Base for example

openSUSE:Factory:PullRequest:42:Base

. The only purpose of that project is to copy binaries once to provide a not changing base for further builds in other QA projects. This is achieve by using an aggregate. Since the resigning of binaries is disabled this is handled efficent on the OBS backend.

Due to the rebuild="local" parameter the build only happens once after setup. In case the binaries need to get updated the release manager can trigger a rebuild of the aggregate.

Nothing else building inside of this project.

  • openSUSE:Factory:PullRequest:0-Bootstrap

This gets added as :Bootstrap together with :Base if the QA-Bootstrap label gets set on the pull request. For example:

openSUSE:Factory:PullRequest:42:Bootstrap

It rebuilds the source from the main staging project (:42) and also the sources from the bootstrap project.

  • openSUSE:Factory:PullRequest:1-MinimalX

This gets added as :MinimalX together with :Base if the QA-Bootstrap label gets set on the pull request. For example:

openSUSE:Factory:PullRequest:42:MinimalX

It rebuilds the source from the main staging project (:42) and also the sources from the MinimalX project.