From 2c93d833956b24b51a04b9fd5375bf0016079f3a Mon Sep 17 00:00:00 2001 From: Ondrej Nosek Date: Mar 02 2020 20:11:44 +0000 Subject: 1.38 Release Signed-off-by: Ondrej Nosek --- diff --git a/doc/source/conf.py b/doc/source/conf.py index 2102524..2251747 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -24,9 +24,9 @@ copyright = '2018, fedpkg Team' author = 'fedpkg Team' # The short X.Y version -version = '1.37' +version = '1.38' # The full version, including alpha/beta/rc tags -release = '1.37' +release = '1.38' # -- General configuration --------------------------------------------------- diff --git a/doc/source/releases.rst b/doc/source/releases.rst index d0ff0eb..975f659 100644 --- a/doc/source/releases.rst +++ b/doc/source/releases.rst @@ -6,6 +6,7 @@ Releases .. toctree:: :maxdepth: 1 + releases/1.38 releases/1.37 releases/1.36 releases/1.35 diff --git a/doc/source/releases/1.38.rst b/doc/source/releases/1.38.rst new file mode 100644 index 0000000..73ed1cc --- /dev/null +++ b/doc/source/releases/1.38.rst @@ -0,0 +1,244 @@ +.. _release_1.38: + +fedpkg 1.38 Release Notes +========================= + +Released on *March 1, 2020* + +This release requires ``rpkg >= 1.59-5``. + +Python compatibility +-------------------- + +fedpkg works with Python 2.6, 2.7, 3.6 and 3.7. + +What's new in fedpkg 1.38 +------------------------- + +Create fork of the active repository +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Adds new command ``fedpkg fork`` that call API method which forks +active repository for the given (or active) user and creates remote +record in git configuration. + +.. code-block:: ini + + [fedpkg.distgit] + apibaseurl = https://src.fedoraproject.org + token = + +New token can be regerated here: +https://src.fedoraproject.org/settings#nav-api-tab +At least `"Fork a project"` ACL have to be selected during the process. + +Warning: this new token is different to the `Pagure`_ token. + +.. _`Pagure`: https://pagure.io/settings#nav-api-tab + +Clone config customization for namespaces +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +After the ``clone`` operation, a git config is updated with `git-bz` +config values. Now, these values can be customized based on the +namespace of the cloned repository. Each namespace has its own +key `clone_config_` in config section. For namespaces, +that missing this config ('tests' namespace is a good example), +any of these values aren't updated. + +A repository has to be namespaced (``distgit_namespaced = True``) +for the config to be applied. + +Functional change is part of the rpkg, and needs to be released +separately. + +.. code-block:: ini + + [fedpkg] + clone_config_rpms = + bz.default-tracker bugzilla.redhat.com + bz.default-product Fedora + bz.default-version rawhide + bz.default-component %(repo)s + sendemail.to %(repo)s-owner@fedoraproject.org + clone_config_modules = + bz.default-tracker bugzilla.redhat.com + bz.default-product Fedora Modules + bz.default-version rawhide + bz.default-component %(repo)s + sendemail.to module-%(repo)s-owner@fedoraproject.org + clone_config_container = + bz.default-tracker bugzilla.redhat.com + bz.default-product Fedora Container Images + bz.default-version rawhide + bz.default-component %(repo)s + sendemail.to container-%(repo)s-owner@fedoraproject.org + +Demo video `here `_ + +verrel command on master asks Koji first +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +``fedpkg verrel`` on master branch could return wrong result in some +cases. Now running order is: asks active Koji session, asks anonymous +Koji session and then if there is still no result, tries to determine +release offline. Fedpkg ability to work offline is still desirable. + +Block retiring in released branches +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +It checks Fedora release state and it restricts retiring operation +for other states than `pending`. States are obtained from service here: +https://bodhi.fedoraproject.org/releases/ +Unknown releases are allowed to be retired. + +Demo video `here `_ + +Removes check of bodhi-client version +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Modification of this part of the code is not needed when a new major +version of Bodhi is released (if there are no incompatibilities with +previous Bodhi version). + +This approach was chosen instead of bumping the version every time there +is a Bodhi major release. + +epel8 & epel8-playground support +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Functionality regarding epel includes: + +* Add epel*-playground into rpmdefines +* Allow epel*-playground requests for epel8 and newer +* Support for epel*-playground branch requests +* Use package.cfg for epel8+ branches +* Change dist tag for epel8-playground - Change dist tag for branch epel8-playground to be the same like in Koji. + +`request-tests-repo` add branch into ticket body +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Add fixed branch `master` into ticket body. It should prevent releng +ticket being marked as invalid. + +Clarify request-branch 'service levels' argument +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Description of ``request-branch`` command wasn't clear for ``--sl`` argument +and was modified. ``--sl`` argument allows multiple values and therefore +only positional argument 'branch' shouldn't be placed at the end of +line. + +Mock requests in all tests +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Without this the test do network operations and fail when run with no +network access. + +Resolve Jenkins unittests failing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Disabling Jenkins unittests for Python2.6, because it is not supported +by the Jenkins system anymore. To continue running unittests I also +had to change the approach to install dependent libraries - not to use +sitepackages. Libraries that are needed are installed by pip directly. +It leads to skipping of some tests that require bodhi-client. + +New options for bodhi template +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Options include ``reqire_testcases`` and ``require_bugs``. + +Check nvr before build +~~~~~~~~~~~~~~~~~~~~~~ + +When building for `epel8`, it is also triggered `epel8-playground` +build. nvr have to be checked whether the build is already built. +There was the check, but it queried different nvr. Now build will +be terminated when there is the same nvr present in Koji. + +utils: fix whitespace in Pagure error message +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Prior to this change, Python would concatenate the two quoted strings +together without a space, and fedpkg's error message would read + + `... to set atoken in your user configuration.` + +Add a space between `a` and `token`. + +Line up descriptions for better code readability +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Multi-line descriptions of fedpkg commands were lined up to +the beginning of the line and it was not so readable. textwrap.dedent +was used to line descriptions up like normal string literals. + +Width of the description column was originally 70 characters, with +this change you need to add a fixed number of spaces +on the beginning. + +Coding style changes +~~~~~~~~~~~~~~~~~~~~ + +* Sorting of imports +* Avoid warning about invalid escape with python3.8 +* linux_distribution import moved + +Other small fixes +~~~~~~~~~~~~~~~~~ + +* bash completion: update with side tag commands, added --fail-fast +* Bump check for bodhi client version 4 +* Unittests for new features and some older functionality as well. +* git-changelog: Fix running on Python 3 and unify the script with rpkg. + +Change Logs +----------- + +* Removes check of bodhi-client version - `rhbz#1796972`_ (onosek) +* Clone config customization for namespaces - `#231`_ (onosek) +* Update bash completion with side tag commands (lsedlar) +* add --fail-fast to bash-completion (cheese) +* Improve coding style by sorting imports (onosek) +* Repair tests for previous commits (onosek) +* Create fork of the active repository - `#276`_ (onosek) +* request-tests-repo: add branch into ticket body - `#359`_ (onosek) +* verrel command on master asks Koji first - `#357`_ (onosek) +* Check nvr before build - `#356`_ (onosek) +* Change dist tag for epel8-playground (onosek) +* Add test for retiring on archived release (lsedlar) +* Mock requests in all tests (lsedlar) +* Line up descriptions for better code readability (onosek) +* Clarify request-branch 'service levels' argument - `#283`_ (onosek) +* Resolve Jenkins unittests failing (onosek) +* utils: fix whitespace in Pagure error message (kdreyer) +* New options for bodhi template - `#459`_ (onosek) +* Block retiring in released branches - `#337`_ (onosek) +* Use package.cfg for epel8+ branches - `#345`_ (mboddu) +* Add epel*-playground into rpmdefines (smooge) +* linux_distribution import moved (onosek) +* Unittests for epel*-playground branch requests (onosek) +* Allow epel*-playground requests for epel8 and newer (onosek) +* Support for epel*-playground branch requests - `#334`_ (mboddu) +* git-changelog: Fix running on Python 3 (onosek) +* Avoid warning about invalid escape with python3.8 (zbyszek) +* Tests for update stable karma - `#321`_ (cqi) +* Bump check for bodhi client - `#330`_ (lsedlar) +* Ignore files in a cloned repository - patterns update (onosek) + +.. _`rhbz#1796972`: https://bugzilla.redhat.com/show_bug.cgi?id=1796972 +.. _`#231`: https://pagure.io/fedpkg/issue/231 +.. _`#276`: https://pagure.io/fedpkg/issue/276 +.. _`#359`: https://pagure.io/fedpkg/issue/359 +.. _`#357`: https://pagure.io/fedpkg/issue/357 +.. _`#356`: https://pagure.io/fedpkg/issue/356 +.. _`#283`: https://pagure.io/fedpkg/issue/283 +.. _`#459`: https://pagure.io/rpkg/issue/459 +.. _`#337`: https://pagure.io/fedpkg/issue/337 +.. _`#345`: https://pagure.io/fedpkg/issue/345 +.. _`#334`: https://pagure.io/fedpkg/issue/334 +.. _`#321`: https://pagure.io/fedpkg/issue/321 +.. _`#330`: https://pagure.io/fedpkg/issue/330 + + diff --git a/setup.py b/setup.py index 032a5eb..dbe244f 100755 --- a/setup.py +++ b/setup.py @@ -40,7 +40,7 @@ else: setup( name="fedpkg", - version="1.37", + version="1.38", author="Dennis Gilmore", author_email="dgilmore@fedoraproject.org", description=("Fedora plugin to rpkg to manage "