diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index e7bd66c..13285ae 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,8 @@ /did-0.15.tar.bz2 /did-0.16.tar.bz2 /did-0.17.tar.bz2 +/did-0.18.tar.bz2 +/did-0.19.tar.bz2 +/did-0.20.tar.bz2 +/did-0.21.tar.bz2 +/did-0.22.tar.bz2 diff --git a/ci.fmf b/ci.fmf new file mode 100644 index 0000000..c5aa0e0 --- /dev/null +++ b/ci.fmf @@ -0,0 +1 @@ +resultsdb-testcase: separate diff --git a/did.spec b/did.spec index f798353..7f7a8cd 100644 --- a/did.spec +++ b/did.spec @@ -1,28 +1,32 @@ Name: did -Version: 0.17 -Release: 1%{?dist} +Version: 0.22 +Release: 5%{?dist} Summary: What did you do last week, month, year? -License: GPLv2+ +License: GPL-2.0-or-later URL: https://github.com/psss/did Source0: %{url}/releases/download/%{version}/did-%{version}.tar.bz2 BuildArch: noarch BuildRequires: git-core +BuildRequires: python3-bodhi-client BuildRequires: python3-bugzilla BuildRequires: python3-dateutil BuildRequires: python3-devel BuildRequires: python3-httplib2 BuildRequires: python3-pytest +BuildRequires: python3-pytest-xdist BuildRequires: python3-requests-gssapi BuildRequires: python3-setuptools +BuildRequires: python3-nitrate Requires: python3-bugzilla Requires: python3-httplib2 Requires: python3-nitrate Requires: python3-requests-gssapi +Requires: python3-feedparser +Requires: python3-tenacity -%?python_enable_dependency_generator %description Comfortably gather status report data (e.g. list of committed @@ -32,27 +36,172 @@ range. By default all available stats for this week are reported. %prep %autosetup -S git +%generate_buildrequires +%pyproject_buildrequires + + %build -%py3_build +%pyproject_wheel %install -%py3_install +%pyproject_install +%pyproject_save_files did mkdir -p %{buildroot}%{_mandir}/man1 install -pm 644 did.1.gz %{buildroot}%{_mandir}/man1 %check export LANG=en_US.utf-8 -%{__python3} -m pytest -vv tests/test*.py -k 'not smoke' +%pytest -vv tests/test*.py -k 'not smoke' -%files +%files -f %{pyproject_files} %{_mandir}/man1/* %{_bindir}/did -%{python3_sitelib}/%{name}/ -%{python3_sitelib}/%{name}-*.egg-info/ %doc README.rst examples %license LICENSE %changelog +* Fri Sep 19 2025 Python Maint - 0.22-5 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Fri Aug 15 2025 Python Maint - 0.22-4 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Wed Jul 23 2025 Fedora Release Engineering - 0.22-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Wed Jun 04 2025 Python Maint - 0.22-2 +- Rebuilt for Python 3.14 + +* Tue Jun 03 2025 Petr Šplíchal - 0.22-1 +- Implement `transition` stats for the `jira` plugin (#352) +- Fix issue with wrong `until` in GitHub search (#376) +- List resolved jira by tester and contributor field +- Fix `zammad` token bug, some minor adjustments +- Better handling auth max retry in jira plugin +- Handle JSON decode errors in pagure plugin +- Reuse bodhi connection instead of opening new ones +- Properly handle timeout in pagure plugin +- Complete report even on plugin error +- Better handling on server errors for pagure plugin +- Better handling of wrong url in confluence plugin +- Handle timeout fetching batches in jira plugin +- Fixed Jira updated issues and support timeout +- Collect stats in parallel +- Add stats for updated jira tickets +- Handle rate limiting in Jira plugin +- Allow to filter out orgs in GitHub plugin +- Properly collect comments in GitHub +- Improve items plugin +- Enable pagure closed PRs stats collection +- Add hyperkitty support +- Handle better the GitLab expired token case +- Increased test coverage +- Use pytest-xdist for parallelizing test execution +- Add collection of comments for Pagure +- Cover markdown format while testing Koji +- Use tenacity handling retry connection to GitHub +- Added stats for modified pages in Confluence +- Allow to skip SSL verification in bugzilla plugin +- Added markdown support to google plugin +- Add token authentication to confluence plugin +- Add markdown support to koji plugin +- Fetch all created issues correctly in `pagure` (#379) +- Use custom `user-agent` in the `public_inbox` plugin (#392) +- Fix dockerfile executable path, add git to container (#354) +- Support `user`, `org`, `repo` in the `github` plugin (#373) +- Handle the GitHub rate limit in a better way (#374) +- Create a Public Inbox Plugin +- Implement `did last [monday..sunday]` +- Correctly handle merge commits in verbose mode +- Prevent duplicates in github issue stats +- Retry connecting to GitLab API on error +- Add a `Toolbelt Catalog` entry for `did` +- Allow skipping events that are not reportable +- Add a team report example using login aliases +- Migrate to the `SPDX` identifier + +* Fri Nov 10 2023 Petr Šplíchal - 0.21-1 +- Pass plugin configuration to koji `ClientSession` +- Add `markdown` format output to `bodhi` plugin +- Add `markdown` format output to `pagure` plugin +- Handle connection error fetching gitlab user +- Update instructions for the `google` plugin +- Add `sphinx_rtd_theme` to the list of extensions +- Replace deprecated calls to `warn` +- Fix docs building warnings, pin sphinx version +- Add support for `markdown` format output (#315) +- Move line length recommendation to proper section +- Update pre-commit GH action with latest version +- Add dependency on `python3-feedparser` +- Replace `readfp()` with `read_file()` +- Support defining subitems for header and footer +- Give a reasonable error for unreachable wiki url +- Report Gitlab tasks-commented properly +- Fix typo in section name +- Skip own pull requests in `pull-requests-reviewed` + +* Thu Mar 09 2023 Petr Šplíchal - 0.20-1 +- Produce fixed `phabricator` statistics +- Address packit warning on the `metadata` key +- Remove the Travis CI configuration +- Fix pytest invocation +- Move common constants to the top of `did.utils` +- Add new configuration options for custom separator +- Fix broken phabricator tests +- Fix potentially uninitialized local variable +- Add CodeQL workflow for GitHub code scanning +- Add comment stats on GitHub issues & pull requests +- Add the `name-tests-test` pre-commit hook +- Add the new `phabricator` plugin +- Update test data for `sentry`, `gitlab` and `gerrit` +- Update `pre-commit` configuration, enable `flake8` +- Allow all plugins to fetch secrets from files +- Update packit config to address recent changes +- Fix typo in the Google plugin docstring +- Speed up local testing, add missing require +- Update google plugin installation instructions +- Koji plugin +- Handle GitHub API rate limit +- Add Github Action for PyPI releases + +* Tue Jan 18 2022 Lukáš Zachar - 0.19-1 +- Install all required packages during docs building +- Adjust code style to be pep8 compatible +- Update docs for contributors, enable pre-commit +- Add basic support for Zammad +- Check if the GitHub credential token is valid +- Fix jira issues search when user `login` provided +- Add minor clarification note about token name +- Split jira token expiration into two options +- Adjust the support for Jira Personal Access Tokens +- Support Personal Access Token in the Jira plugin +- Return all the bugzilla results from a search +- Install fresh sphinx when building readthedocs +- Adjust the paging support for the GitHub plugin +- Add pagination support for GitHub, fixes #247 +- Adjust the new plugin for reporting bodhi updates +- Add a new plugin with support for Bodhi updates +- Use user email for searching updated jira issues +- Adjust the switch from fiscal to calendar year +- Switch from fiscal year to natural year +- Update docs for gitlab, github and confluence +- Give a better message upon jira search failure +- Raise the number of github issues fetched per page + +* Mon Apr 19 2021 Petr Šplíchal - 0.18-1 +- Support custom xmlrpc endpoint for MoinMoin wiki +- Adjust the approved merge requests for gitlab +- Add search for approved merge requests in gitlab +- Enable copr builds from master, simplify tests +- Add "no prefix" rule to commit message suggestions +- Simplify packit config, enable epel-8 for testing +- Do not use interpolation for ConfigParser +- Expand tilde in config path values +- Fix a typo in the README format section +- Update test data for the gerrit plugin +- Adjust password file support for jira & confluence +- Add password file options for jira and confluence + * Mon Jul 13 2020 Petr Šplíchal - 0.17-1 - Prevent exploring tests under the tmt directory - Run unit tests always under the English locale diff --git a/plans/plugins.fmf b/plans/plugins.fmf new file mode 100644 index 0000000..1a6e2a7 --- /dev/null +++ b/plans/plugins.fmf @@ -0,0 +1,5 @@ +summary: Test did plugins +discover: + how: fmf +execute: + how: tmt diff --git a/plans/upstream.fmf b/plans/upstream.fmf new file mode 100644 index 0000000..60a6c8f --- /dev/null +++ b/plans/upstream.fmf @@ -0,0 +1,6 @@ +summary: Upstream did tests +discover: + how: fmf + url: https://github.com/psss/did +execute: + how: tmt diff --git a/sources b/sources index 8c7879f..62c2807 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (did-0.17.tar.bz2) = a35694fb981f599327cfa149343f480d2761ef7a43629bf0957a056e12fc5bc1b9787c531afcb7b3dd1ed2e05de353f467fc0954080f4b069370f3ea7f372dec +SHA512 (did-0.22.tar.bz2) = c2146e9b1e4d3e10c26429a69a81865aab9011157981780c9a62da292c161c554c40d0145cc131fa572355526a6c2e54013816d653a72b51af6e1bdccacc66bd diff --git a/tests/bugzilla/config b/tests/bugzilla/config new file mode 100644 index 0000000..8f543a3 --- /dev/null +++ b/tests/bugzilla/config @@ -0,0 +1,8 @@ +[general] +email = Petr Šplíchal + +[bz] +type = bugzilla +prefix = BZ +url = https://bugzilla.redhat.com/xmlrpc.cgi +resolutions = all diff --git a/tests/bugzilla/main.fmf b/tests/bugzilla/main.fmf new file mode 100644 index 0000000..2912747 --- /dev/null +++ b/tests/bugzilla/main.fmf @@ -0,0 +1,3 @@ +summary: Check that bugzilla repork works fine +test: ./test.sh +framework: beakerlib diff --git a/tests/bugzilla/test.sh b/tests/bugzilla/test.sh new file mode 100755 index 0000000..b432736 --- /dev/null +++ b/tests/bugzilla/test.sh @@ -0,0 +1,16 @@ +#!/bin/bash +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +interval="--since 2021-08-01 --until 2022-01-31" + +rlJournalStart + rlPhaseStartTest "Filed bugs" + rlRun -s "did --bz-filed $interval --config $(pwd)/config" + rlAssertGrep "BZ#2042920 - Checkout of a custom ref fails" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "Closed bugs" + rlRun -s "did --bz-closed $interval --config $(pwd)/config" + rlAssertGrep "BZ#1985089 - tmt provision virtual" $rlRun_LOG + rlPhaseEnd +rlJournalEnd