Skip to content

build.o.o Projects

Henne Vogelsang edited this page Jan 13, 2023 · 13 revisions

Of course we make use of the OBS reference server https://build.opensuse.org to ship OBS binaries to our users. Eat your own 🐕 💩 ❗ 😄

For this we have our own top level project OBS:Server and some projects below it and of course (RPM) packages and (KIWI) appliances.

Unstable

OBS:Server:Unstable contains binary packages of our master branch and all dependencies needed to build/run those. Packages from O:S:U we deploy in production:

App:

  • obs-api 
  • obs-api-deps
  • obs-bundled-gems
  • ruby3.1-rubygem-rack
  • perl-GD (used in Webui::Projects::RebuildTimesController.call_diststats)
  • sphinx (used by obs-sphinx.service)
  • memcached
  • telegraf

Ruby:

  • ruby3.1
  • ruby-common
  • ruby3.1-rubygem-gem2rpm
  • libruby3_1-3_1

Application Server

  • rubygem-passenger
  • ruby3.1-rubygem-passenger
  • apache2-mod_xforward
  • rubygem-passenger-apache2

$VERSION

OBS:Server:$VERSION contains binary packages of our release branch (e.g. 2.8 or 2.9) and all dependencies needed to build/run those. This is the repository our users should enable on their base OS.

$VERSION:Staging

As you can imagine we don't want our users to immediately get all changes we do to our packages delivered to their systems. We want this to be a conscious, timed releases. That is why packaging for released versions happens in a sub-project called OBS:Server:$VERSION:Staging. Any package you want to add or update should be packaged there. Once you are done and everything is tested we release the packages to OBS:Server:$VERSION.

  osc release OBS:Server:$VERSION:Staging

The full release process is documented in our minor (updates of 2.9.<minor-version>) and major (updates of 2.<major-version>) release guides.

NOTE: Changes to the project configuration should be done in OBS:Server:$VERSION so users can base their branches in OBS on a correct project configuration.

Clone this wiki locally