From fbcf3c19148fd217fe77fbc84f6dc7bab4f2f57a Mon Sep 17 00:00:00 2001 From: Jimmy Berry Date: Thu, 23 Aug 2018 17:42:31 -0500 Subject: [PATCH] README: completely rewrite and provide workflow overview SVG. --- README.asciidoc | 80 ---- README.md | 55 +++ dist/package/openSUSE-release-tools.spec | 4 +- docs/res/workflow-overview.svg | 571 +++++++++++++++++++++++ 4 files changed, 628 insertions(+), 82 deletions(-) delete mode 100644 README.asciidoc create mode 100644 README.md create mode 100644 docs/res/workflow-overview.svg diff --git a/README.asciidoc b/README.asciidoc deleted file mode 100644 index 53ff8ffc..00000000 --- a/README.asciidoc +++ /dev/null @@ -1,80 +0,0 @@ -Factory workflow plugins -======================== - -image:https://travis-ci.org/openSUSE/openSUSE-release-tools.png?branch=master["Build Status", link="https://travis-ci.org/openSUSE/openSUSE-release-tools"] image:https://coveralls.io/repos/openSUSE/openSUSE-release-tools/badge.png?branch=master["Coverage Status", link="https://coveralls.io/r/openSUSE/openSUSE-release-tools"] - -This repository contains various OSC plugins and scripts used for the -maintenance of openSUSE distributions like Factory. - -Scripts -------- - -* *link:docs/staging.asciidoc[Staging].* Plugin used to manage the - different staging projects and to assign different group of - packages (requests) to different staging projects. - -* *link:docs/checkrepo.asciidoc[CheckRepo].* This OSC plugin check - continuously for usual mistakes or problems in requests like, for - example, new dependency cycles or errors in the binary RPM. - -* *link:docs/checksource.asciidoc[CheckSource].* This plugin checks for usual - mistakes and problems in the source packages submitted by the users. - -* *link:docs/totest.asciidoc[ToTest].* A plugin that checks if Factory is ready - to be released as Tumbleweed. - -* *link:docs/checkdups.asciidoc[CheckDups].* Plugin to detect - superseded or duplicated requests. - -* *link:docs/factory-source.asciidoc[factory-source].* script that checks if the - submitted sources of a request are already accepted in Factory - -* *link:docs/maintbot.asciidoc[maintbot].* script that checks maintenance - incidents to make sure the Factory maintainer submitted the package. - -* *link:checknewer.py[checknewer.py].* script compares version numbers in repos to - make sure all packages e.g. in a new distro are newer - -Installation ------------- - -Clone this repository: - -------------------------------------------------------------------------------- -git clone https://github.com/openSUSE/openSUSE-release-tools.git -------------------------------------------------------------------------------- - -Create links for the different plugins that you want to install in -+~/.osc-plugins+ or +/var/lib/osc-plugins+. For example, to install -the staging plugin: - -------------------------------------------------------------------------------- -cd openSUSE-release-tools -ln -sr ./osc-staging.py ./osclib ~/.osc-plugins -------------------------------------------------------------------------------- - -Now you are done and all that is left is start using plugin, see help -in regards of what you can do: - -------------------------------------------------------------------------------- -osc help staging -------------------------------------------------------------------------------- - -or - -------------------------------------------------------------------------------- -osc staging --help -------------------------------------------------------------------------------- - - -Testing -------- - -Covering all functionality with test suite is currently work in -progress. In general new functionality should be covered by tests in -order to make sure we don't break it in future. Before refactoring, -functions has to be covered by tests as well to ensure we don't break -them. - -How to work with test suite is better described in -link:docs/testing.asciidoc[testing] file in link:docs[docs] directory. diff --git a/README.md b/README.md new file mode 100644 index 00000000..f28a1353 --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +[![Build Status](https://travis-ci.org/openSUSE/openSUSE-release-tools.svg?branch=master)](https://travis-ci.org/openSUSE/openSUSE-release-tools) +[![Coverage Status](https://coveralls.io/repos/github/openSUSE/openSUSE-release-tools/badge.svg?branch=master)](https://coveralls.io/github/openSUSE/openSUSE-release-tools?branch=master) +[![openSUSE Tumbleweed package](https://repology.org/badge/version-for-repo/opensuse_tumbleweed/opensuse-release-tools.svg)](https://repology.org/metapackage/opensuse-release-tools) + +# openSUSE-release-tools + +![Rethink release tooling presentation overview](docs/res/workflow-overview.svg) + +Everything denoted with a cloud is largely in this repository while the rest is the [open-build-service (OBS)](https://github.com/openSUSE/open-build-service). + +## 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](https://build.opensuse.org/package/binaries/openSUSE:Tools/openSUSE-release-tools/openSUSE_Factory). + + zypper se openSUSE-release-tools osc-plugin + +If CI builds are needed add the [appropriate `openSUSE:Tools` repository](https://software.opensuse.org//download.html?project=openSUSE%3ATools&package=openSUSE-release-tools). + +## 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](/docs) directory or a specific tool directory for specific tool documentation outside of `--help`. The [wiki](/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 + +A containerized OBS can be started via one command. The default credentials are `Admin` and `opensuse` on [0.0.0.0:3000](http://0.0.0.0:3000). + + ./dist/ci/docker-compose-obs + +An `osc` alias is automatically configured as `local`. + + osc -A local api /about + +Some tests will attempt to run against the local OBS, but not all. + + nosetests diff --git a/dist/package/openSUSE-release-tools.spec b/dist/package/openSUSE-release-tools.spec index 046dca12..6eda86ef 100644 --- a/dist/package/openSUSE-release-tools.spec +++ b/dist/package/openSUSE-release-tools.spec @@ -385,7 +385,7 @@ fi %files %defattr(-,root,root,-) -%doc README.asciidoc +%doc README.md %{_bindir}/osrt-biarchtool %{_bindir}/osrt-bs_mirrorfull %{_bindir}/osrt-build-fail-reminder @@ -435,7 +435,7 @@ fi %files devel %defattr(-,root,root,-) # Non-empty for older products. -%doc README.asciidoc +%doc README.md %files abichecker %defattr(-,root,root,-) diff --git a/docs/res/workflow-overview.svg b/docs/res/workflow-overview.svg new file mode 100644 index 00000000..827ae5a4 --- /dev/null +++ b/docs/res/workflow-overview.svg @@ -0,0 +1,571 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + devel project + + + + + + + home project + + + + + + + branch + + + + + + + + + + + + + + + + + + + + + submit + + + + + + + + + + + + + + + + + + + + + factory + + + + + + + submit + + + + + + + + + + + + + + + + + + + + + staging project + + + + + + + + + + + + + + + + + + + + + + + + + + review bots + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + staging tools + + + + + + + + + + + + + + + + + + + pkglistgen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + openQA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + legaldb + + + + + + + + + + + + + + + + + + + + + leap + + + + + + + + + + + + + + + + + + + crawler + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sle + + + + + + + + + + + + + + + + + + + crawler + + + + + + + + + + + + + + + + + + + + + maintenance + + + + + + + + + + + + + + + + + + + maint bots + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + + + + + + + + +