Meego Wiki
Views

Release Infrastructure/BOSS/Participants

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
Line 7: Line 7:
Package : https://build.pub.meego.com/package/show?package=boss-participant-prechecks&project=Project:MINT:Testing
Package : https://build.pub.meego.com/package/show?package=boss-participant-prechecks&project=Project:MINT:Testing
 +
 +
Configuration : The file at /etc/oscrc needs to be edited so that these participants can communicate with the OBS instance.
=== check_already_testing ===
=== check_already_testing ===
Line 31: Line 33:
=== check_package_built_at_source ===
=== check_package_built_at_source ===
 +
 +
Prerequisite : check_has_valid_repo
 +
Checks if the packages being submitted are built successfully against the  
Checks if the packages being submitted are built successfully against the  
designated target repository for the architectures of interest and sets STATUS = FAILED if not
designated target repository for the architectures of interest and sets STATUS = FAILED if not
Line 52: Line 57:
Finds a repository in the source project that builds ONLY against a certain target
Finds a repository in the source project that builds ONLY against a certain target
project / repo , sets STATUS = FAILED if it does not find one.
project / repo , sets STATUS = FAILED if it does not find one.
 +
 +
=== check_has_relevant_changelog ===
 +
 +
Prerequisite : get_relevant_changelog
 +
 +
Checks that each package in the request actions has a non empty relevant change entries field.
 +
 +
Use this if you want to enforce that new entries be added to the .changes file before allowing a request to be accepted.
 +
 +
=== check_is_from_devel :regexp ===
 +
 +
Checks that each package in the request originates from a project the matches the regexp provided as a parameter.
 +
 +
==  Changelog ==
 +
 +
GIT : https://meego.gitorious.org/meego-infrastructure-tools/boss-participant-getchangelog
 +
 +
* branch skynet
 +
 +
=== get_changelog ===
 +
 +
=== get_relevant_changelog ===
== Notification ==
== Notification ==

Revision as of 10:32, 29 April 2011

List of participants ported / implemented for BOSS SkyNET :


Contents

OBS prechecks

GIT : https://meego.gitorious.org/meego-infrastructure-tools/boss-participant-prechecks

Package : https://build.pub.meego.com/package/show?package=boss-participant-prechecks&project=Project:MINT:Testing

Configuration : The file at /etc/oscrc needs to be edited so that these participants can communicate with the OBS instance.

check_already_testing

Compares the checksum of the packages being submitted to packages of the same name possibly in the Testing project. If the checksum matches it sets STATUS = FAILED

check_no_changes

Compares the checksum of the packages being submitted to packages of the same name possibly in the Target project. If the checksum matches it sets STATUS = FAILED

check_multiple_destinations

Checks if the request tries to submit packages to multiple projects at the same time and sets STATUS = FAILED if so

check_package_is_complete

Checks if each of the packages being submitted contains at least the following files :

 * Source tarball : *.tar.gz *.tar.bz2 or *.tgz
 * Changes file : *.changes
 * Spec file : *.spec

and sets STATUS = FAILED if not

check_package_built_at_source

Prerequisite : check_has_valid_repo

Checks if the packages being submitted are built successfully against the designated target repository for the architectures of interest and sets STATUS = FAILED if not

check_spec

Checks if the spec file of each of the packages being submitted is valid. Currently the only validity check applied is that it shouldn't contain the %changelog tag and sets STATUS = FAILED if it does

OBS is responsible for inserting the .changes file contents into the spec file.

get_submitter_email

Gets the request submitter email from OBS and makes sure it is not an empty string sets STATUS = FAILED otherwise.

check_submitter_is_maintainer

Checks the request submitter is actually a maintainer in the source project from which the request is origination, sets STATUS = FAILED otherwise.

check_has_valid_repo

Finds a repository in the source project that builds ONLY against a certain target project / repo , sets STATUS = FAILED if it does not find one.

check_has_relevant_changelog

Prerequisite : get_relevant_changelog

Checks that each package in the request actions has a non empty relevant change entries field.

Use this if you want to enforce that new entries be added to the .changes file before allowing a request to be accepted.

check_is_from_devel :regexp

Checks that each package in the request originates from a project the matches the regexp provided as a parameter.

Changelog

GIT : https://meego.gitorious.org/meego-infrastructure-tools/boss-participant-getchangelog

  • branch skynet

get_changelog

get_relevant_changelog

Notification

GIT : https://meego.gitorious.org/meego-infrastructure-tools/boss-participant-notify

NOTE: skynet branch for now

Package : https://build.pub.meego.com/package/show?package=boss-participant-notify&project=Project:MINT:Testing

notify

Email notification based on templates.

notify_irc :msg, :irc_channel

  1. TODO IRC notification to an IRC bot.

OBS process / workflow

GIT : https://meego.gitorious.org/meego-infrastructure-tools/boss-launcher-robogrator

NOTE: skynet branch for now

Package : https://build.pub.meego.com/package/show?package=boss-launcher-robogrator&project=Project:MINT:Testing

robogrator

Listens to the obsEvent queue for OBS events and launches ruote processes from the matching namesepace (directory hierarchy) configured in /etc/skynet/robogrator.conf

http://wiki.meego.com/Release_Infrastructure/BOSS/OBS_Event_List

standard_workflow_handler

Reference implementation of how to do useful things with OBS events.

Personal tools