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 427201d..13285ae 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,11 @@ /did-0.11.tar.bz2 /did-0.12.tar.bz2 /did-0.14.tar.bz2 +/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 d330d07..7f7a8cd 100644 --- a/did.spec +++ b/did.spec @@ -1,27 +1,32 @@ Name: did -Version: 0.14 -Release: 2%{?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 @@ -31,26 +36,206 @@ 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 -%{__python3} -m pytest -vv tests/test*.py -k 'not smoke' +export LANG=en_US.utf-8 +%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 +- Enable basic smoke test against github in packit +- Disable test for the redmine plugin +- Update test data for the redmine plugin +- Update test data for the sentry plugin +- Update test data for the gerrit plugin +- Use calendar year quarters by default [fix #223] +- Merge the improved Jira search [#198] +- Adjust improved Jira search using scriptrunner +- Use scriptrunner issueFunction to speed up things +- Simplify Packit config (copr_build no more needed) +- Update test data for the sentry plugin +- Implement Jira issue comparison to prevent dupes +- Do not break sorting on merge +- Add default command into the info log [fix #217] +- Enable Python 3.8 in Travis, update metadata + +* Tue Dec 10 2019 Petr Šplíchal - 0.16-1 +- Convert smoke test into docs test, fix config file +- Include a short summary in the help usage message +- Enable simple smoke test in the testing farm +- Add nitrate back into the package requires +- Enable custom tarball in Packit to fix man page +- Mention custom plugins config on the plugins page +- Enable copr builds and add packit config +- Custom eprint() is no more necessary [fix #211] +- Convert custom section order to int [fix #212] + +* Thu Nov 14 2019 Petr Šplíchal - 0.15-1 +- Create a single StatsGroup for 'items' [fix #208] +- Google plugin __unicode__ leftover + * Tue Oct 29 2019 Petr Šplíchal - 0.14-2 - Include python3-setuptools in the BuildRequires - Use info level to log problems with plugin import 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 fbba12d..62c2807 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (did-0.14.tar.bz2) = ea724907b97d16f9cdd9b02e8308f18aeaa18f844e01fb142af71f91465cd7e6d5e2b1bee44a92a1ab54c9e15798e7769ef8fd8b0ed885fcacbd2e181731bd63 +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