REPA(1)

NAME

repa - maintain code submissions to Tizen projects

SYNOPSIS

repa [<global options>] <command> [<options>] <args>

DESCRIPTION

Repa is a generic tool for maintaining code submissions to Tizen projects. It allows to list submissions, group them into submission groups, accept or reject them. Submission is a code in the git tree(s) tagged with sumbit tag. Submission includes code from one or multiple projects(so called group submission). Submission group is a temporary group of submissions, created for testing purposes.

Repa commands:

    1. list - list submissions and submission groups
    2. show - show detailed info about submission or submission group
    3. accept - accept submissions
    4. reject - reject submissions
    5. group - group submissions into submission group
    6. rmgroup - remove submission group
    7. diff - show the difference between projects
    8. rebuild - rebuild submission
    9. lock - lock submission
    10. unlock - unlock submission
    11. remove - remove submission

GLOBAL OPTIONS
--version
    Print repa version and exit.

-h, --help
    Print short help text and exit.

-s, --section SECTION
    Config section to use

-p, --project PROJECT
    Target OBS project.

-c, --colorize
    Turn on colorized output

COMMANDS

  list [--help] [--processes <processes>] [--showurls] [--ignore <regexp>] [--base <project>] [--showtime]
    List submissions in the following format: <Submission> <Target OBS Project> <status> <list of git paths> Example of output: submit/tizen/20140327.041126 broken source sdbd
        submit/tizen/20140327.052722 package build failed emulator-yagl
            submit/tizen/20140327.055105 package building libav zlib
                submit/tizen/20140327.080733 image building bluez
                    submit/tizen/20140328.063916 ready 01:20:14 connman
                        submit/tizen/20140328.080409 ready 00:14:30 sdbd
                            OPTIONS
                                -h, --help
                                    Print short help text about the "list" command and exit.

                                --processes PROCESSES
                                    Use PROCESSES to specify the amount of python processes to run in parallel. Usage of this option can significantly speed up repa list. Note, that this parameter can also be specified in repa configuration file.

                                --showurls
                                    Show OBS and download urls in the output. It's switched off by default. Note, that this parameter can also be specified in repa configuration file.

                                --ignore <regexp>
                                    Ignore packaging failures for specified regexp. <regexp> is a slash-separated string <repository>/<architecture>/<package>, for example arm.*/armv7./.*_aggregate. Note, that this parameter can also be specified in repa configuration file.

                                --base <project>
                                    Show status of the submission in the base project. Note, that this parameter can also be specified in repa configuration file.

                                --showtime
                                    Show submission build time for the submissions in 'ready' status. It's switched off by default. Note, that this parameter can also be specified in repa configuration file.

  show [--help] --project <project> <submission or group>
    Show detailed information about submission
        Download Url: url of prerelease directory on download server
        OBS Url: url of prerelease OBS project
        Images: list of image names and their build statuses
        Package build failures: list of failed package builds

    Example of output:
        Submission: submit/tizen/20140328.213722
            Download Url: http://download.tizen.org/prerelease/tizen/ivi/ivi/tizen_20140328.8/tizen_20140328.8.20140328.213722/
                OBS Url: https://build.tizen.org/project/show?project=home:prerelease:Tizen:IVI:submit:tizen:20140328.213722
                    Images:
                        ivi-min-mbr-i586 success
                        ivi-min-efi-i586 success
                        ivi-mbr-i586-emul success
                        ivi-mbr-i586 success
                        ivi-efi-i586 success
                        ivi-mbr-i586-JJ failed Package build failures:
                        wifi-direct-manager failed
                    OPTIONS
                        -h, --help
                            Print short help text about the "show" command and exit.

  accept [options] <submission or group>
    Accept submission or submission group. Acceptance is done by creating Submit Request in OBS for submission or group and immediately accepting it.
        OPTIONS
            -h, --help
                Print short help text about the "accept" command and exit.

            -comment COMMENT
                Add acceptance comment for created SR.

            -j --jenkins
                Trigger Jenkins job to accept submission.

            -e --edit
                Run editor to edit comment. Editor is taken from EDITOR environment variable.

  reject [options] <submission or group>
    Reject submission or submission group. Rejection is done by creating Submit Request in OBS for submission or group and immediately rejecting it.
        OPTIONS
            -h, --help
                Print short help text about the "reject" command and exit.

            -comment COMMENT
                Add rejection comment for created SR.

            -j --jenkins
                Trigger Jenkins job to reject submission.

            -e --edit
                Run editor to edit comment. Editor is taken from EDITOR environment variable.

  group [options] <list of submissions>
    Group submissions into submit group. Submit group is a temporary by its nature. It's created for testing purposes. Internally submit group is an OBS project with aggregated packages from groupped submissions. It's a way to test, accept or or reject multiple submissions at once. Note! No package builds are performed in group projects. The grouping function aggregates binaries only and is intended only for image testing.
        OPTIONS
            -h, --help
                Print short help text about the "group" command and exit.

            -comment COMMENT
                Add comment to created submit group. It will be shown by list command.

            --noaggregate <regexp>
                Do not aggregate binary packages matching regexp. This is useful to skip aggregates, propagated by OBS from target project to prerlease projects, e.g. qemu-accel-*, mic-bootstrap, etc.

  rmgroup [options] <submit group>
    Remove submit group.
        OPTIONS
            -h, --help
                Print short help text about the "rmgroup" command and exit.

  diff [--help] <project to compare> <manifest to compare> <manifest of target project>
    Show the difference between manifest of target project and manifest of <project to compare> in the following format: <Git path> <Revision in project to compare> <Revision in the target OBS Project> <Tag, accepted into project to compare>
        Example of output: $ repa -p Tizen:IVI diff Tizen:Common ivi_0140508.2_ia32.xml common_20140507.5_ia32.xml platform/core/appfw/aul-1 3644ad5459 e4f2b22012 submit/tizen/20140502.084937
            platform/core/appfw/shortcut 502c7807b3 27bbf892e0 submit/tizen/20140430.020549
                platform/core/connectivity/nfc-manager-neard ea952dc454 88793ab1ff None
                    platform/core/connectivity/smartcard-service e45ae0bdfb 7d5da70551 submit/tizen/20140506.101200
                        platform/core/messaging/msg-service c988cc8b55 a9eed6a734 submit/tizen/20140502.105814
                            platform/core/system/tlm 3ddbc6bc14 None submit/tizen/20140430.130050
                                platform/framework/web/crosswalk 42dcc1327b 4280e52757 submit/tizen/20140506.123703
                                    Status 'pending' means that submission is pending for the target project. In colorized mode pending submissions are colorized and 'pending' status is not shown.
                                    OPTIONS
                                        -h, --help
                                            Print short help text about the "diff" command and exit.

  rebuild [options] <submision>
    Rebuild submission by triggering 're' Jenkins job. 're' job triggering rebuild by re-exports packages in submission. By default it re-exports all packages. It's also possible to re-export only one package using --package command line option.
        OPTIONS
            -h, --help
                Print short help text about the "rebuild" command and exit.

            -c --comment COMMENT
                Provide a comment with the explanation of a reason for rebuild. Mandatory option.

            -p --package <package name>
                Rebuild only one package.

            -e --edit
                Run editor to edit comment. Editor is taken from EDITOR environment variable.

  lock [options] <submision>
    Lock submission by triggering 're' Jenkins job. 're' job locks submission by disabling build in prerelease OBS project.
        OPTIONS
            -h, --help
                Print short help text about the "lock" command and exit.

            -c --comment COMMENT
                Provide a comment with the explanation of a reason for lock. Mandatory option.

            -e --edit
                Run editor to edit comment. Editor is taken from EDITOR environment variable.

  unlock [options] <submision>
    Unlock submission by triggering 're' Jenkins job. 're' job unlocks submission by re-enabling build in prerelease OBS project.
        OPTIONS
            -h, --help
                Print short help text about the "unlock" command and exit.

            -c --comment COMMENT
                Provide a comment with the explanation of a reason for unlock.

            -e --edit
                Run editor to edit comment. Editor is taken from EDITOR environment variable.

  remove [options] <submision>
    Remove submission by triggering 're' Jenkins job. 're' job remove prerelease OBS project.
        OPTIONS
            -h, --help
                Print short help text about the "remove" command and exit.

            -c --comment COMMENT
                Provide a comment with the explanation of a reason for remove. This is mandatory option.

            -e --edit
                Run editor to edit comment. Editor is taken from EDITOR environment variable.

CONFIGURATION FILE
    Configuration file has an INI-file syntax. repa looks for config files in two locations: global /etc/repa.conf and local ~/.repa.conf. Values from global configuration file are overwritten by values from local configuration file. Command line options have highest priority and overwrite options from configuration files.
    Example:
    [general]
    apiurl = https://api.tizen.org
    apiuser = your_user_name
    apipasswd = your_password
    jenkins_url = https://build.tizen.org/robot
    jenkins_user = your_jenkins_user_name
    jenkins_passwd = your_jenkins_password
    processes = 20
    project = Tizen:IVI
    base = Tizen:Common
    color = off
    showurls = off
    ignore = arm-.*/armv7./.*_aggregate$
    noaggregate = mic-bootstrap-x86-arm.rpm|mic-bootstrap.rpm|mic-bootstrap-debugsource.rpm|qemu-accel-armv7l.rpm|qemu-accel-armv7l-cross-arm.rpm|qemu-linux-user-cross-arm.rpm
    showtime = off
    accept_comment = default comment
     for accept
     command
    reject_comment = default comment
     for reject
     command
    rebuild_comment = default comment
     for rebuild
     command
    lock_comment = default comment
     for lock
     command
    unlock_comment = default comment
     for unlock
     command
    remove_comment = default comment
     for remove
     command
    Mandatory options: apiurl, apiuser, apipasswd, jenkins_url, jenkins_user, jenkins_passwd and project
    Some options (project, processes, colorize, showurls, ignore, noaggregate, base, showtime) can be overridden by commandline options (--project, --processes, --colorize, --showurls, --ignore, --noaggregate, --base, --showtime)

BUGS
Please, report bugs to Ed Bartosh <eduard.bartosh@intel.com>.

COPYRIGHT
Copyright (C) Intel Corporation 2013

LICENCE
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License, version 2,
  as published by the Free Software Foundation.
  .
  This program is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  General Public License for more details.

AUTHORS
Repa is developed and maintained by Ed Bartosh <eduard.bartosh@intel.com>.