Meego Wiki
Views

Release Infrastructure/BOSS/Participants

From MeeGo wiki
Jump to: navigation, search

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

This is for over-eager developers - or if two people in a team submit close together.

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

Developers sometimes submit without doing a proper update - this catches that situation.

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

Nb the presence of the .changes file is important for the changelog participants to operate correctly

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

Gets the .changes file from the project/package and puts it into the 'changelog' field. Note that for SRCSRV_REQUEST_*, project is the _target_ and may not return the expected log. Thus get_relevant_changelog may be more relevant for that case.

Dependencies:

  • /etc/skynet/

get_relevant_changelog

Gets the .changes file for the source project/package/revision and does a diff against the target project/package putting the 'added' lines into a 'relevant_changelog' field for each package in the request's actions array.

This is particularly useful for acting on external links such as bug# or feature# mentioned in the new changelog lines.

The complexity of a diff provides for situations where multiple changelog entries are made in one area of a project before the package is finally accepted.

Bugzilla

Documentation

Image Creation

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.
Personal tools