Skip to content
Tools to aid in staging and release work for openSUSE/SUSE
Branch: master
Clone or download
coolo Merge pull request #2111 from sysrich/master
Add MicroOS announcer instance
Latest commit dd9c9d4 Jun 13, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
abichecker
bs_copy
config Add MicroOS announcer instance Jun 13, 2019
data
dist Adapt packaging to the repo_checker.py split Jun 6, 2019
docs Remove check_dups plugin May 30, 2019
factory-package-news
gocd
metrics
oqamaint oqamaint: use the proper key to add incident repo Jun 4, 2018
osclib
pkglistgen Take pkglistgen from git - avoid deployment loop May 30, 2019
script pkglistgen: migrate bash scripts to python. Dec 21, 2017
staging_templates No longer have Ring2 and staging :DVD subproject Jun 29, 2018
systemd
tests Fix repository_path_expand to also work in Factory stagings May 12, 2019
ttm ttm: remove code to update pinned openQA comment Jun 5, 2019
userscript
web/origin-manager web/origin-manager: scroll to value after selecting. May 13, 2019
.coveragerc Ignore tests in coverage report May 5, 2019
.dockerignore
.editorconfig
.flake8 flake8: ignore W504. Oct 24, 2018
.gitignore .gitignore: ignore osc symlink commonly used to develop against pre-r… May 23, 2019
.noserc metrics_release: remove executable flag left over from development. Apr 17, 2018
.travis.yml Simplify travis setup even more: deploy in gocd May 11, 2019
CNAME
CreatePackageDescr.pm Map i686 packages to i586 to find kernel-pae-devel Feb 5, 2019
LICENSE
Makefile Install pkglistgen files Jan 17, 2019
Makefile.common Change references to osc-plugin-factory to openSUSE-release-tools. Mar 16, 2018
PubSubConsumer.py Fix rabbitmq acknowledge: first ACK then check the content May 20, 2019
README.md README: Add explanation of developing against git osc. May 23, 2019
ReviewBot.py Remove debug output left in ReviewBot May 27, 2019
ToolBase.py Run even more bots in python3 May 16, 2019
biarchtool.py
bs_mirrorfull
bugowner.py Use more print from the future Nov 17, 2018
build-fail-reminder.py Run build fail reminder on botmaster May 28, 2019
check_maintenance_incidents.py Run check_maintenance_incidents.py on gocd May 29, 2019
check_source.pl check_source: update grammar Mar 25, 2019
check_source.py
check_source_in_factory.py
check_tags_in_requests.py Run even more bots in python3 May 16, 2019
checknewer.py
compare_pkglist.py More porting to python3 Apr 20, 2019
container_cleaner.py
deptool.py More porting to python3 Apr 20, 2019
devel-project.py
fcc_submitter.py More porting to python3 Apr 20, 2019
findfileconflicts Retire repo_checker.pl Jun 5, 2019
issue-diff.py
k8s-secret.py Run even more bots in python3 May 16, 2019
leaper.py
legal-auto.py Fix projects import into legaldb May 30, 2019
maintenance-installcheck.py
manager_42.py
metrics.py
metrics_release.py
obs_clone.py
obs_operator.py obs_operator: do not require session for OPTIONS method. May 13, 2019
openqa-maintenance.py
origin-manager.py origin-manager: switch to python3. May 16, 2019
osc-cycle.py More porting to python3 Apr 20, 2019
osc-origin.py osc-origin: provide cron command to automate lookup management. May 30, 2019
osc-staging-workflow.dot
osc-staging.py Remove --add from select command Jun 3, 2019
osc-vdelreq.py
pkglistgen.md pkglistgen: Move suggested from global to package level Jan 17, 2019
pkglistgen.py Fix problems with pkglistgen under python3 May 12, 2019
project-installcheck.py
rebuildpacs.pl Fix rebuildpacs for installation-images Feb 11, 2019
requestfinder.py
requirements.txt There is no use of urlgrabber left May 22, 2019
staging-installcheck.py
staging-report.py Fix python3 for staging-report May 18, 2019
status.py status: fallback to request_age() even if no comment. Jan 30, 2018
suppkg_rebuild.py Run suppkg_rebuild.py on gocd May 29, 2019
sync-rebuild.py Use more print from the future Nov 17, 2018
totest-manager.py Run ttm in python3 containers as well May 15, 2019
unmaintained.py
update_crawler.py More porting to python3 Apr 20, 2019
write_repo_susetags_file.pl Retire repo_checker.pl Jun 5, 2019

README.md

Build Status Coverage Status openSUSE Tumbleweed package

openSUSE-release-tools

Rethink release tooling presentation overview

Everything denoted with a cloud is largely in this repository while the rest is the open-build-service (OBS).

Installation

For non-development usage just install the package.

zypper in openSUSE-release-tools

Many sub-packages are provided which can be found either by searching or looking on the build service.

zypper se openSUSE-release-tools osc-plugin

If CI builds are needed add the appropriate openSUSE:Tools repository.

Usage

All tools provide help documentation accessible via --help.

For osc plugins include the plugin name after osc like the following.

osc staging --help

For other tools execute the tool directly.

osrt-repo-checker --help

See the docs directory or a specific tool directory for specific tool documentation outside of --help. The wiki also contains some additional documentation.

Development

git clone https://github.com/openSUSE/openSUSE-release-tools.git

If working on an osc plugin create symlinks for the plugin and osclib in either ~/.osc-plugins or /usr/lib/osc-plugins. For example to install the staging plugin do the following.

ln -sr ./osc-staging.py ./osclib ~/.osc-plugins

It can also be useful to work against a development copy of osc either to utilize new features or to debug/fix functionality. To do so one must place the development copy in the path to be loaded and utilize the wrapper script if working on osc plugins. One method to accomplish this is shown below.

# outside of openSUSE-release-tools checkout
git clone git clone https://github.com/openSUSE/osc.git

# inside openSUSE-release-tools checkout
# note the ending /osc which points to the osc directory within the checkout
ln -s /path/to/osc/osc ./

# to utilize the wrapper for working on osc plugins from osrt checkout
$(realpath ./osc)/../osc-wrapper.py --version

A containerized OBS can be started via one command. The default credentials are Admin and opensuse on 0.0.0.0:3000.

./dist/ci/docker-compose-obs

An osc alias is automatically configured as local.

osc -A local api /about

A facsimile of openSUSE:Factory in the form of a subset of the related data can be quickly created in a local OBS instance using the obs_clone tool.

./obs_clone.py --debug --apiurl-target local

Some tests will attempt to run against the local OBS, but not all.

nosetests
You can’t perform that action at this time.