18 Commits

Author SHA1 Message Date
Packit ce44c8c7be [packit] 1.26.1 upstream release
Upstream tag: 1.26.1
Upstream commit: 2cfb13eb

If you need to do any change in this pull request, you need to locally fetch the source branch of it and push it (with a fix) to your fork (as it is not possible to push to the branch created in the Packit’s fork):
```
git fetch https://src.fedoraproject.org/forks/packit/rpms/tmt.git refs/heads/*:refs/remotes/packit/*
git checkout packit/1.26.1-epel8-update-propose_downstream
```
2023-09-01 18:40:16 +00:00
Packit 8a3476af94 [packit] 1.26.0 upstream release
Upstream tag: 1.26.0
Upstream commit: fa1b3519

If you need to do any change in this pull request, you need to locally fetch the source branch of it and push it (with a fix) to your fork (as it is not possible to push to the branch created in the Packit’s fork):
```
git fetch https://src.fedoraproject.org/forks/packit/rpms/tmt.git refs/heads/*:refs/remotes/packit/*
git checkout packit/1.26.0-epel8-update-propose_downstream
```
2023-07-31 19:23:17 +00:00
Lukas Zachar dae11fc1bf [packit] 1.25.0 upstream release
Upstream tag: 1.25.0
Upstream commit: 7b7ecc7b
2023-07-10 16:18:39 +02:00
Petr Šplíchal 0192a8ec38 [packit] 1.24.1 upstream release
Upstream tag: 1.24.1
Upstream commit: 9206e034
2023-06-09 10:57:18 +02:00
Lukas Zachar 26d4877d19 Require python3-setuptools
Runtime tmt needs it but it was installed by other package
which dropped the requirement.

Next release (1.24) will require setuptools in setup.py directly
2023-05-15 11:42:00 +02:00
Lukas Zachar dbd9d59881 Release tmt-1.23.0 2023-05-11 20:49:26 +02:00
Petr Šplíchal 07b7dfd971 Run only tier 0 and tier 1 tests from the upstream
It is not necessary to run the whole test coverage. The basic set of
core functionality tests should be enough to ensure sanity of the
package. Later we can expand this to cover basic use stories.
2023-04-17 14:44:51 +02:00
Petr Šplíchal 573cfe60b2 Release 1.22.0 2023-04-14 21:42:09 +02:00
Lukas Zachar ae5154b4c3 Release 1.21.0 2023-02-03 11:39:27 +01:00
Fedora Release Engineering 41f9a962d1 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 05:12:19 +00:00
Lukas Zachar 45a57620cd Release tmt-1.20.0 2022-12-09 11:52:14 +01:00
Lukas Zachar 3481ffdd58 Release 1.19.0 2022-11-10 08:09:07 +01:00
Petr Šplíchal b788e44dfe Release tmt-1.18.0 2022-10-11 10:04:40 +02:00
Lukas Zachar 1a563eeb8d Release 1.17.0 2022-09-05 17:02:30 +02:00
Lukas Zachar 8f3e8a0f8c Release 1.16.0 2022-08-03 21:03:42 +02:00
Fedora Release Engineering 0bf3a7f662 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 10:37:30 +00:00
Lukas Zachar 3d7f384b25 Release 1.15.0 2022-07-02 14:17:50 +02:00
Python Maint 0931d283ab Rebuilt for Python 3.11 2022-06-15 18:59:02 +02:00
6 changed files with 870 additions and 12 deletions
+13
View File
@@ -25,3 +25,16 @@
/tmt-1.12.0.tar.gz
/tmt-1.13.0.tar.gz
/tmt-1.14.0.tar.gz
/tmt-1.15.0.tar.gz
/tmt-1.16.0.tar.gz
/tmt-1.17.0.tar.gz
/tmt-1.18.0.tar.gz
/tmt-1.19.0.tar.gz
/tmt-1.20.0.tar.gz
/tmt-1.21.0.tar.gz
/tmt-1.22.0.tar.gz
/tmt-1.23.0.tar.gz
/tmt-1.24.1.tar.gz
/tmt-1.25.0.tar.gz
/tmt-1.26.0.tar.gz
/tmt-1.26.1.tar.gz
+114
View File
@@ -0,0 +1,114 @@
specfile_path: tmt.spec
files_to_sync:
- tmt.spec
- .packit.yaml
sync_changelog: true
upstream_project_name: tmt
downstream_package_name: tmt
upstream_project_url: https://github.com/teemtee/tmt
issue_repository: https://github.com/teemtee/tmt
actions:
post-upstream-clone:
- make bump2dev
create-archive:
- make tarball
get-current-version:
- make version
srpm_build_deps:
- make
- python3-docutils
jobs:
# Build pull requests
- job: copr_build
trigger: pull_request
targets:
- fedora-all
- epel-8
- epel-9
enable_net: False
# Test pull requests
- job: tests
trigger: pull_request
targets:
- fedora-all
- epel-8
- epel-9
# Test internal plugins
- job: tests
trigger: pull_request
identifier: "internal-plugins"
targets:
- fedora-latest-stable
use_internal_tf: True
fmf_url: "https://gitlab.cee.redhat.com/baseos-qe/tmt.git"
# Tag cloud resources for tmt
tf_extra_params:
environments:
- settings:
provisioning:
tags:
BusinessUnit: tmt
# Test internal wow
- job: tests
trigger: pull_request
identifier: "internal-wow"
targets:
- fedora-latest-stable
use_internal_tf: True
fmf_url: "https://gitlab.cee.redhat.com/baseos-qe/integration_scripts.git"
tmt_plan: "/tmt/integration/plan"
tf_extra_params:
environments:
- settings:
provisioning:
tags:
BusinessUnit: tmt
# Build commits to main
- job: copr_build
trigger: commit
branch: main
targets:
- fedora-all
- epel-8
- epel-9
enable_net: False
list_on_homepage: True
preserve_project: True
owner: psss
project: tmt
# Fedora releases
- job: propose_downstream
trigger: release
dist_git_branches:
- fedora-all
- epel-8
- epel-9
actions:
post-upstream-clone: []
- job: koji_build
trigger: commit
allowed_pr_authors: ["packit", "psss", "lzachar"]
allowed_committers: ["packit", "psss", "lzachar"]
dist_git_branches:
- fedora-all
- epel-8
- epel-9
- job: bodhi_update
trigger: commit
dist_git_branches:
- fedora-branched
- epel-8
- epel-9
+3
View File
@@ -0,0 +1,3 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 0.79.1.post6+g144ce0c.
+1 -1
View File
@@ -4,6 +4,6 @@ discover:
how: fmf
url: https://github.com/teemtee/tmt
ref: fedora
filter: tag:virtual
filter: "tag:virtual & tier:0,1"
execute:
how: tmt
+1 -1
View File
@@ -1 +1 @@
SHA512 (tmt-1.14.0.tar.gz) = 0a924a4010c149b85179cd4c8ec65410af0abfe036c588eadd0a611140b69fc1429b37d9f7f62175d095492bbdabe493532141c266d7240e3c4ccfb5d0161970
SHA512 (tmt-1.26.1.tar.gz) = 352581ec5a1d67bfd91ca116d39a06fc7bb1fd4c15ced389a3c22b06de59379eb87b67cc148b2f6595e2283d1c0fb2ce47f42972eedea85ba4e10924f3fd0444
+738 -10
View File
@@ -1,5 +1,5 @@
Name: tmt
Version: 1.14.0
Version: 1.26.1
Release: 1%{?dist}
Summary: Test Management Tool
@@ -15,6 +15,14 @@ ExcludeArch: %{power64}
URL: https://github.com/teemtee/tmt
Source0: https://github.com/teemtee/tmt/releases/download/%{version}/tmt-%{version}.tar.gz
%define workdir_root /var/tmp/tmt
# Hint for shebang fixer, otherwise uses /usr/bin/python3
# which can be changed by user
%if 0%{?rhel} == 8
%global __python3 /usr/bin/python3.6
%endif
# Main tmt package requires the Python module
Requires: python%{python3_pkgversion}-%{name} == %{version}-%{release}
Requires: git-core rsync sshpass
@@ -34,15 +42,18 @@ BuildRequires: python%{python3_pkgversion}-docutils
BuildRequires: python%{python3_pkgversion}-setuptools
BuildRequires: python%{python3_pkgversion}-pytest
BuildRequires: python%{python3_pkgversion}-click
BuildRequires: python%{python3_pkgversion}-fmf
BuildRequires: python%{python3_pkgversion}-fmf >= 1.2.0
BuildRequires: python%{python3_pkgversion}-requests
BuildRequires: python%{python3_pkgversion}-testcloud
BuildRequires: python%{python3_pkgversion}-testcloud >= 0.9.2
BuildRequires: python%{python3_pkgversion}-markdown
BuildRequires: python%{python3_pkgversion}-junit_xml
BuildRequires: python%{python3_pkgversion}-ruamel-yaml
# The typing-extensions are only needed for rhel-8
BuildRequires: python%{python3_pkgversion}-jinja2
# Only needed for rhel-8 (it has python3.6)
%if 0%{?rhel} == 8
BuildRequires: python%{python3_pkgversion}-typing-extensions
BuildRequires: python%{python3_pkgversion}-dataclasses
BuildRequires: python%{python3_pkgversion}-importlib-metadata
%endif
# Required for tests
BuildRequires: rsync
@@ -67,7 +78,8 @@ Dependencies required to run tests in a container environment.
Summary: Virtual machine provisioner for the Test Management Tool
Obsoletes: tmt-testcloud < 0.17
Requires: tmt == %{version}-%{release}
Requires: python%{python3_pkgversion}-testcloud >= 0.7.0
Requires: python%{python3_pkgversion}-testcloud >= 0.9.2
Requires: libvirt-daemon-config-network
Requires: openssh-clients
Requires: (ansible or ansible-core)
# Recommend qemu system emulators for supported arches
@@ -78,11 +90,24 @@ Recommends: qemu-system-s390x-core
Recommends: qemu-system-x86-core
%endif
%if 0%{?rhel} >= 9 || 0%{?fedora}
%package provision-beaker
Summary: Beaker provisioner for the Test Management Tool
Requires: tmt = %{version}-%{release}
Requires: python3-mrack-beaker >= 1.12.1
%endif
%if 0%{?rhel} >= 9 || 0%{?fedora}
%description provision-beaker
Dependencies required to run tests in a Beaker environment.
%endif
%description provision-virtual
Dependencies required to run tests in a local virtual machine.
%package test-convert
Summary: Test import and export dependencies
Requires: tmt == %{version}-%{release}
Requires: make python3-nitrate python3-html2text python3-markdown
Requires: python3-bugzilla
@@ -91,7 +116,7 @@ Additional dependencies needed for test metadata import and export.
%package report-html
Summary: Report plugin with support for generating web pages
Requires: python3-jinja2
Requires: tmt == %{version}-%{release}
%description report-html
Generate test results in the html format. Quickly review test
@@ -99,11 +124,28 @@ output thanks to direct links to output logs.
%package report-junit
Summary: Report plugin with support for generating JUnit output file
Requires: tmt == %{version}-%{release}
Requires: python3-junit_xml
%description report-junit
Generate test results in the JUnit format.
%package report-polarion
Summary: Report plugin with support for generating Polarion test runs
Requires: tmt-report-junit >= %{version}
Requires: python3-pylero
%description report-polarion
Generate test results in xUnit format for exporting to Polarion.
%package report-reportportal
Summary: Report step plugin for ReportPortal
Requires: tmt == %{version}-%{release}
Requires: tmt-report-junit == %{version}
%description report-reportportal
Report test results to a ReportPortal instance.
%package all
Summary: Extra dependencies for the Test Management Tool
Requires: tmt >= %{version}
@@ -112,6 +154,11 @@ Requires: tmt-provision-virtual >= %{version}
Requires: tmt-test-convert >= %{version}
Requires: tmt-report-html >= %{version}
Requires: tmt-report-junit >= %{version}
Requires: tmt-report-polarion >= %{version}
Requires: tmt-report-reportportal >= %{version}
%if 0%{?rhel} >= 9 || 0%{?fedora}
Requires: tmt-provision-beaker >= %{version}
%endif
%description all
All extra dependencies of the Test Management Tool. Install this
@@ -133,7 +180,12 @@ mkdir -p %{buildroot}%{_mandir}/man1
mkdir -p %{buildroot}/etc/bash_completion.d/
install -pm 644 tmt.1* %{buildroot}%{_mandir}/man1
install -pm 644 bin/complete %{buildroot}/etc/bash_completion.d/tmt
mkdir -p %{buildroot}%{workdir_root}
chmod 1777 %{buildroot}%{workdir_root}
%if 0%{?rhel} >= 9 || 0%{?fedora}
mkdir -p %{buildroot}/etc/%{name}/
install -pm 644 %{name}/steps/provision/mrack/mrack* %{buildroot}/etc/%{name}/
%endif
%check
%{__python3} -m pytest -vv -m 'not web' --ignore=tests/integration
@@ -153,22 +205,40 @@ install -pm 644 bin/complete %{buildroot}/etc/bash_completion.d/tmt
%{python3_sitelib}/%{name}/
%{python3_sitelib}/%{name}-*.egg-info/
%license LICENSE
%exclude %{python3_sitelib}/%{name}/steps/provision/{,__pycache__/}{podman,testcloud}.*
%exclude %{python3_sitelib}/%{name}/steps/report/{,__pycache__/}html.*
%dir %{workdir_root}
%exclude %{python3_sitelib}/%{name}/steps/provision/{,__pycache__/}{podman,testcloud,mrack}.*
%exclude %{python3_sitelib}/%{name}/steps/provision/mrack
%exclude %{python3_sitelib}/%{name}/steps/report/{,__pycache__/}html*
%exclude %{python3_sitelib}/%{name}/steps/report/{,__pycache__/}junit.*
%exclude %{python3_sitelib}/%{name}/steps/report/{,__pycache__/}polarion.*
%exclude %{python3_sitelib}/%{name}/steps/report/{,__pycache__/}reportportal.*
%exclude %{_sysconfdir}/%{name}/mrack*
%files provision-container
%{python3_sitelib}/%{name}/steps/provision/{,__pycache__/}podman.*
%if 0%{?rhel} >= 9 || 0%{?fedora}
%files provision-beaker
%{python3_sitelib}/%{name}/steps/provision/{,__pycache__/}mrack.*
%config(noreplace) %{_sysconfdir}/%{name}/mrack*
%endif
%files provision-virtual
%{python3_sitelib}/%{name}/steps/provision/{,__pycache__/}testcloud.*
%files report-html
%{python3_sitelib}/%{name}/steps/report/{,__pycache__/}html.*
%{python3_sitelib}/%{name}/steps/report/{,__pycache__/}html*
%files report-junit
%{python3_sitelib}/%{name}/steps/report/{,__pycache__/}junit.*
%files report-polarion
%{python3_sitelib}/%{name}/steps/report/{,__pycache__/}polarion.*
%files report-reportportal
%{python3_sitelib}/%{name}/steps/report/{,__pycache__/}reportportal.*
%files test-convert
%license LICENSE
@@ -177,6 +247,664 @@ install -pm 644 bin/complete %{buildroot}/etc/bash_completion.d/tmt
%changelog
* Fri Sep 01 2023 Lukáš Zachar <lzachar@redhat.com> - 1.26.1
- Rewrite git url for discover fmf: modified-only
* Mon Jul 31 2023 Lukáš Zachar <lzachar@redhat.com> - 1.26.0
- Do not throw an exception on missing mrack.log
- Allow injecting credentials for git clone
- Exception in web_link() when node root is missing
- Rewrite url in git_clone
- Add support for rendering error tracebacks
- ReST export plugin should accept --template option
- Add `role` to the Beaker provision plugin schema
- Fix test checking custom destination for libraries
- Create plans to cover individual step features (#2216)
- Add cache_property for things that are generated but not often
- Simplify public git conversion with a declarative list
- Spec-based container becomes generic over input/output specs
- Clean up logging in `tmt.utils.create_directory()`
- Move test framework code into distinct framework classes
- Add template option to polarion report
- Group discover/fmf options, improve wording a bit
- Record tmt command line in tmt log
- Add note about dynamic ref to the plan import spec
- Use the `Deprecated` class for deprecated options
- Remove `python3-mrack-beaker` from `BuildRequires`
- Switch discover/fmf to our field() implementation
- Lock the `click` version < 8.1.4
- Refine examples of plans > discover > fmf
- Override packit actions for `propose_downstream`
* Mon Jul 10 2023 Lukáš Zachar <lzachar@redhat.com> - 1.25.0
- Test for pruning needs VM
- Internal anonymous git:// access is deprecated
- Add tests and some modifications after rebases
- Clone to tmp and use fmf.Tree.find instead of looping
- Add clone_dirpath to Common
- Fix bad usage of path and name
- Fix multiple clones and inherited fmf metadata
- Beakerlibs pruning and merge
- Add dynamic ref evaluation support to plan import
- Replace self.opt() when looking for debug/verbose/quiet setting
- Reimplement the `ReportPortal` plugin using API
- Make `Step` class own export of step data (#2040)
- Make relevancy/coverage linters to not re-read fmf files
- Add a single `tmpdir` fixture for all Python versions
- Replace named tuples with data classes
- Replace `/` in safe name, and fix prepare step to use safe names
- Do not export fmf id's ref when it's the default branch
- Move the sync libraries into a separate section
- Allow running next plan in queue when one fails to complete
- Fix a too strict check for the detected library
- Convert provision plugins' step data to our field implementation
- Convert execute plugins to `tmt.utils.field()` for options
- Cache that beakerlib/library repo is missing
- Use code-block directive for examples and code blocks
- Add the `show()` method for guest data packages
- Turn fmf context into a fancy dict
- Enable ruff checks for mutable dataclass field defaults
- Create option metavar from listed choices
- Document how to modify imported plans
- Recommend needs a different option for `dnf5`
- Ask ruff to show what it fixed
- Bumps supported Artemis API to 0.0.58
- Use `--version` to gather the package_manager fact
- Use f-strings where possible
- Bump pre-commit hooks to latest version
- Fix ruff RUF010: Use f-strings conversion flags
- Fix py<38 mypy type:ignore being on wrong line
- Move isort to ruff
- Enable passing Pylint checks
- Fix ruff RSE102: Unnecessary parentheses on exception
- Fix ruff PIE: flake8-pie errors
- Remove duplicates from ruff rules selection
- Fix ruff SIM: flake8-simplify errors
- Fix ruff RET: flake8-return errors
- Fix ruff PT: flake8-pytest-style errors
- Fix ruff UP: pyupgrade errors
- Fix ruff N: pep8-naming errors
- Fix ruff RUF005: collection-literal-concatenation
- Fix ruff B: flake8-bugbear errors
- Fix flake8 C405: unnecessary literal set
- Fix flake8 C401: unnecessary generator set
- Fix flake8 C416: unnecessary comprehension
- Fix flake8 C408: unnecessary collection calls
- Polarion report set to UTC timezone
- Add `Organize Data` as a new tmt guide chapter
- Fix emptiness check of /var/tmp/tmt in /tests/status/base
- Allow modification of imported plans
- Raise error if malformed test metadata is given
- Ensure test with empty custom results ends as an ERROR
- Fix /tests/status/base when /var/tmp/tmt is empty
- Remove `pytest.ini` from the `Makefile` targets
- Bad source path for local libraries file require
- Remove useless loop.cycle() from the HTML report
- Implement basic filtering for the HTML report
- Cleanup of "logging function" types
- Do not patch verbosity in discover for --fmf-id
- Drop enum from HW hypervisor and boot method constraints
- Fix enforcement of workdir root in full workdir root test
- Narrow type of file & library dependencies
- Make web-link test play nicely with custom SSH host config
- Use serialization callbacks for last script fields
- Save click context in click context object
- Add the `envvar` argument to `utils.field()`
- Improve structure of the packit config a bit
- Update release instructions with simplified steps
- Sync changelog when creating downstream release
* Fri Jun 09 2023 Petr Šplíchal <psplicha@redhat.com> - 1.24.1-1
- Revert the `Source0` url to the original value
- Use correct url for the release archive, fix docs
* Wed Jun 07 2023 Petr Šplíchal <psplicha@redhat.com> - 1.24.0-1
- Do not display guest facts when showing a plan
- Add new guide/summary for multihost testing
- Define a "plugin registry" class
- Hide `facts` in the `virtual` provision plugin
- Cache resolved linters
- Improve documentation of lint checks (#2089)
- A custom wrapper for options instead of click.option()
- Identify incorrect subcommand after a correct one
- Remove one extra space between @ and decorator name
- Assign envvars to Polarion report arguments
- Expose "key address" to normalization callbacks (#1869)
- Move export of special test/plan/story fields to their respective classes
- Expose guest topology to tests and scripts (#2072)
- Enable building downstream release using Packit
- Add sections for environment variable groups
- Add default envvar to plugin options
- Load env TMT_WORKDIR_ROOT when running tmt status (#2087)
- Opportunistically use "selectable" entry_points.
- Explicitly convert tmpdir to str in test_utils.py.
- Move pytest.ini contents to pyproject.toml.
- Rename Require* classes to Dependency* (#2099)
- Expose fmf ID of tests in results
- Use the `tmt-lint` pre-commit hook
- Turn finish step implementation to queue-based one (#2110)
- Convert base classes to data classes (#2080)
- Crashed prepare and execute steps propagate all causes
- Support exceptions with multiple causes
- Make "needs sudo" a guest fact (#2096)
- Test data path must use safe guest/test names
- Support for multi case import from Polarion and Polarion as only source (#2084)
- Fix search function in docs
- Make tmt test wrapper name unique to avoid race conditions
- Change link-polarion argument default to false
- Add export plugin for JSON (#2058)
- Handle el6 as a legacy os too in virtual provision
- Hint beakerlib is old when result parsing fails
- Revert "Fix dry mode handling when running a remote plan"
- Set a new dict instance to the Plan class
- Replaces "common" object with logger in method hint logging
- Parallelize prepare and execute steps
- Formalizing guest "facts" storage
- Support urllib3 2.x and its allowed_methods/method_whitelist
- Require setuptools
* Thu May 11 2023 Lukáš Zachar <lzachar@redhat.com> - 1.23.0-1
- Add `Artemis` to the `provision` documentation
- Add artemis's user defined watchdog specification
- Add support for require of files and directories
- Expose test serial number as an environment variable
- Print only failed objects when linting in hook
- Refactored metadata linting
- Request newer os image and python version for docs
- Explore all available plugins only once
- Add test start/end timestamps into results
- Implement `deprecated` for obsoleted options
- Unify results examples in test and plan specification
- Convert gitlab private namespace into dist-git url
- Shorter Nitrate summary name
- Correct the path of Ansible playbook
- Refactor logging during plugin discovery, using tmt's logging
- Improve names and docs around CLI context in Common classes
- Fix ruamel.yaml type waivers that mypy sometimes ignores
- Drop some no longer valid TODO comments
- Replace '--t' by '-t' when creating a new plan with template
- Add a new cpu property `flag` to the hardware spec
- Fix duplicate export for Polarion hyperlinks
- Option to list locally cached images for testcloud
- Log out testcloud version in virtual provision
- Use yq instead of grep when testing YAML content
- Don't use specific addresses in virtual provision
- Polish workdir pruning - pathlib transition & logging
- Support for fuzzy matching subcommand
- Add new link relation `test-script` definition
- Remove `group` from the `multihost` specification
- Move "show exception" code to utils
- Add missing support for 0.0.55 and 0.0.48 API
- Add type annotations to tmt.steps.STEPS/ACTIONS
- Support logging "topics" to allow lower unnecessary verbosity
- Add support for right-padding of logging labels
- Move tools config to `pyproject.toml`, add Ruff
- Example to parametrize test selection via envars
- Merge run_command() and _run_command() into Command.run()
- Install beakerlib into images used in test/full
- Don't run `ShellCheck` on tests & decrease severity
- Support multiline strings for option help texts
- Fix tests run only in full testsuite
* Fri Apr 14 2023 Petr Šplíchal <psplicha@redhat.com> - 1.22.0-1
- Change help text of the `tmt --root` option
- Add support for `results.json` in custom results
- Proper support for the test `duration` format
- Prepend '/' to custom test result name if missing
- Document necessary packages for pip install on Ubuntu
- Tag cloud resources to `tmt` in Testing Farm
- Display guest multihost name even in dry run (#1982)
- Pass the `arch` option to the Beaker provider
- Use `job-id` instead of `guestname` in Beaker class
- Adjust the fix for the default branch handling
- Add support to get `ref` under the git worktree
- Fix dry mode handling when running a remote plan
- Enable the external `polarion` plugin tests
- Extract "run a command" functionality into a stand-alone helper
- Increase minimal severity of `ShellCheck` defects
- Display guest full name in `display` plugin report
- Push using `sudo rsync` when necessary
- Avoid warning from installing tmt as pre-commit
- Add test checking repeated test execution results
- Freeze the `yq` version to fix `el8` installation
- Update the `CODEOWNERS` file with more granularity
- Document current workaround for running scripts
- Install `beakerlib` before the `ShellCheck`
- Rename `Guest.full_name` to `Guest.multihost_name`
- Display guest full name in `html` plugin report
- Add test for template-based export plugin
- Add `kickstart` to the `artemis` provision plugin
- Extract just tar files in dist-git-source
- Add missing fields to custom results test
- Add shell linter `Differential ShellCheck`
- Always try to run dhclient in cloud-init in virtual provision
- Fix polarion report pruning and add or fix arguments
- Run `chcon` only if SELinux fs supported
- Require `beaker` provision in `tmt-all`
- Adjust the new `mrack` plugin spec, test and plan
- Add `beaker` provision plugin using `mrack`
- Adjust pip install to always upgrade to the latest
- Move `testcloud` url guessing logic out of `tmt`
- Hotfix Ubuntu with virtual provision
- Detect correct category when export to nitrate
- Add an entrypoint for interactive `tmt` sessions
- Fix internal handling of the `where` key
- Move logging labels to the beginning of lines
- Refactor CLI error reporting to improve readability
- Remove no longer needed cast around our custom Click context
- Display guest full name when showing its details
- Add `kickstart` section as a new specification key
- Add more controls for output colorization
- Rephrase `results.yaml` documentation and examples
- Fix `get_bootstrap_logger` name and docstring typo
- Expose guest info in results
- Enable `root` login and disable default `core` for rhcos
- Sanitize plan/test/story names before filtering
- Set default user `core` for rhcos in testcloud
- Remove no longer used "err" parameter of logging methods
- testcloud: Raise default limits
- Update log key content of results.yaml examples (#1834)
- Include guest name in execute phase data paths
- Adds "bootstrap logger" for logging before CLI options are recognized (#1839)
- Export `TMT_TEST_NAME` and `TMT_TEST_METADATA` (#1888)
- List supported operators in hardware requirement docs (#1867)
- Build tmt usable in inner guests for tests/full
- Target test-complement for tests/full
- Tag tests which are affected by how=full
- Use PROVISION_METHODS in tests
- Report individual test results in tests/full
- Use Require* classes for collection & installation of plugin requirements (#1766)
- Disable tracebacks if default branch is not found
- Assign a data path and serial number to each test in discover (#1876)
- Convert log path for results:custom
- Allow report result for itself in results:custom
- Support to import Makefile having '\\\n'
- Require `pylero` for the `polarion` subpackage
- Fix forgotten guest when Artemis provisioning times out
- Turn `tests.yaml` into a list of tests
- Simplify the `Result` class implementation
- Use `Path` instead of `os.path` in export code
- Use `Path` when working with logfile path
- Fix use of old `os.path.symlink()` in discover/shell
- Add /root/.local/bin to PATH on Centos Stream 8 in CI
- Install jq/yq for more readable tests in tmt test suite
- Fix Common class ignoring other branches of multiple inheritance tree
- Use Path instead of os.path in prepare/install plugin
- Convert path-like strings to `pathlib.Path` objects
- Change `Plugin.go()` to accept logger and extra environment
- Artemis API version may contain multiple integers
- Add logging `labels` used for prefixing messages
- Adds "full name" guest property for multihost logging
* Fri Feb 03 2023 Lukáš Zachar <lzachar@redhat.com> - 1.21.0-1
- Fix tmt-reboot without custom command
- Fix test /discover/libraries
- Add serialization callbacks to data class fields
- Use own private key for `provision.virtual`
- Adds a template-backed export plugin
- Polarion export fix component upload bug and upload id first
- Convert story ReST export to use a Jinja2 template
- Convert export-related code to plugins per format
- Do not clone the whole remote plan in dry mode
- Hardcode tmt git URL so test won't fail for PRs
- Add py.typed marker for 3rd party type annotations
- Fixes isort 5.10.1 installation issue
- Improve logging by `tmt.utils.wait()`
- Check packages are installed via debuginfo-install
- Always ignore failures for recommended packages
- Merge report plugins options into step data fields
- Dynamically find the current Fedora release
- Suggest using a pull request checklist template
- Include a simple Python code among the examples
- Apply normalization callback when updating data with CLI input
- Bump pre-commit linters - Flake8, Mypy, JSON schema, YAML lint & pygrep
- Use base implementation of provision plugin requirements
- Relay 'interactive' value for podman call
- Update Fedora versions in `upgrade` tests
- Apply `ShellScript` for the custom reboot command
- Update the `shell` discover specification
- Enable to sync git repo to SUT in `shell` discover
- Increase the default `utils.format()` indent a bit
- Define pull request Copr build job in Packit config
- Decouple logging from objects and base classes
- Enable `url` and `ref` as `shell` discover options
- Export `TMT_TREE` in other steps as well
- Add a new key `system` to the `hardware` spec
- Remove default for the dynamic `ref` evaluation
- Schema update and test for order in discover step
- Merge report plugins options into step data fields
- Add a test for hardware schema coverage
- Better type annotations of prepare/install scripts
- Move `jinja2` require to the main `tmt` package
- Define the new context dimension `initiator`
- Respect `TMT_WORKDIR_ROOT` variable in `testcloud`
- Annotate commands, command line elements and shell scripts
- Adjust the `reportportal` plugin implementation
- Implement the `reportportal` report plugin
- Require the latest `testcloud` package
- Define `srpm_build_deps` in the packit config
- Include the new web link in verbose `show` mode
- Add a clickable web link to test to polarion export
- Enhance `Links` to allow checking for any links at all
- Drop various guest `wake()` methods in favor of parent class
- Catch `SystemExit` during module discovery
* Thu Dec 08 2022 Lukáš Zachar <lzachar@redhat.com> - 1.20.0-1
- Do not prune `html` and `junit` reports
- Skip extending fmf context if cli context missing
- Connect needs is_ready property as well
- Cover setup.py with pre-commit Python checks
- Do not leak "private" fields into export
- Set guest hostname in testcloud provision
- Capture provision error when login is used
- Support `TMT_WORKDIR_ROOT` environment variable
- Support step data definitions carrying CLI options
- Adds flake8 coverage for bin/ directory
- Prune irrelevant files during the `finish` step
- Add junit plugin schema
- Support to import empty key from Makefile
- Deleting unsed and duplicite part of finish step
- Support absolute paths in HTML reports
- Capture exceptions when getting `image_url`
- Enable verbose output for `provision` & `prepare`
- Add support for Artemis v0.0.47 upcoming release
- Remove unused variables
- Initial support for passing ssh options from cli
- Update specification of the `where` multihost key
- Add a simple test demonstrating the upgrade testing
- Use custom subclass of click.Context for better annotations
- Extend the `duration` for tests using containers
- Change common class constructors to use keyword arguments only
- Make packit build with the next release.dev version
- Add basic test coverage for `tmt story export`
- Fix export of the story `priority` field
- Read source from correct directory if ref is used
* Wed Nov 09 2022 Lukáš Zachar <lzachar@redhat.com> - 1.19.0-1
- Protect args in rsync call
- Set tree root for the default plan tree as well
- Properly set the `tmt` script shebang on `rhel-8`
- Use image exists to check for container image
- Updates docs with example on `adjust` & `prepare+`
- Fix test duration enforcement
- Skip missing debuginfo packages in `recommend`
- Explicitly document extending the plan environment
- Fix ownership of a tmp directory propagated to container
- Support fetching remote repo for `shell` discover
- Fix default `framework`, remove old execution methods
- Add support for Artemis v0.0.46 upcoming release
- Handle an fmf fetch error in remote plan clone
- Do not truncate `RunError` output in verbose mode
- Warn user about data erasing after prepare step
- Formalize `data` package passed to the `Result` class
- Change order of plugin and guest classes in files
- Add `compatible` as a new hardware specification key
- Add `tpm` as a new hardware specification key
- Move the hardware specification into a separate page
- Improve fmf-id processing
- Add test for TTY state in test environment
- Login after each test using the `--test` parameter
- Mention version where important features were added
- Handle dist-git-sources for gitlab
- Fix getting CentOS via --how virtual
- Capture uncaught exceptions when using testcloud
- Update the overview of essential classes
- When following command line --how, do not iterate over step data
- Convert utils' Run unit tests to class-less tests
- Enable variable expansion for dynamic references
- Support beaker libraries as recommended packages
- Add `SpecBasedContainer.to_minimal_spec()` method (#1637)
- Enable context based plan parametrization
- Coverage for tests defined under `discover.shell`
- Fix `/tests/run/shell` access permission problem
- Add step data classes for provisioning and report
- Adjust support for the dynamic `ref` evaluation
- Add support for dynamic `ref` evaluation
- Add a test for fmf id parsing and normalization
- Fix NO_COLOR not being honored by executed command output
- Moves common command options into one place
- Log full chain of exceptions, not just the first cause
- Drop deprecated PluginIndex
- Add message to failure tags in junit report
- Update the pip installation plan
- Remove pointless reimport of tmt.base in discover steps
- Do not use f-string as a docstring
- Fix use of variable before assignment in `Plan.go`
- Fix variable redefinition in `discover/shell.py`
- Fix guest distro detection, do not throw results away
- Fix a typo in `cpu.sockets` hardware requirement
- Make links relative for report html
- Review all uses of `type: ignore` and link relevant issues
- Enhance ClickOptionDecorator type to announce identity
- Update `/tests/execute/upgrade/override` duration
- Review all uses of `Any` and link relevant issues
- Annotate all `cast()` calls with respective issues
- Move the `Result` class into a separate file
- Unblock mypy's follow-import setting
- Use set comprehension instead of list-in-set sequence
- Use `enumerate()` instead of `range(len())`
- Use dict comprehension instead of tuple-in-list-in-dict
- Replace two more list comprehensions with generators
- Replace GeneralError's "origin" with Python's "raise from"
- Fix normalization of the `Plan.context` key
- Adds a missing import to polarion plugin
- Update all linters to their most recent versions
- Define CPU HW components with more granularity
- Adjust the support for importing remote plans
- Add import plan feature and tests
- Add type annotations to `base.py`
- Fix test depending on ordering of elements in junit XML
- Adds type annotations to `tmt` itself
- Remove custom yet same implementation of step's show()
- Make sure `repo_copy` is gone before `make srpm`
* Mon Oct 10 2022 Petr Šplíchal <psplicha@redhat.com> - 1.18.0-1
- Fix recommended packages handling for rpm-ostree
- Add EFI configuration to the `tmt-reboot` script
- Fix adjust for precommit test
- Fix provision for coreos image
- Emit only non-default keys when constructing a test from `execute`
- Add flake8 config file for easier integration with IDEs
- Multiple scripts for CLI prepare -h shell
- Allow mypy to cover the whole tmt.plugins and tmt.steps
- Add typing for `steps/execute/upgrade.py`
- Fix name & default value of polarion's upload field
- Fixes enhancing of environment by local's guest implementation
- Ignore plan -n when searching for upgrade path
- Document & correct use of class conversion methods
- Print fmf tree location when schema unit test fails
- Custom results implementation
- Refactors internal link handling and storage
- Allow mypy to cover whole tmt.steps.prepare
- Add typing for `steps/execute/internal.py`
- Use workdir with safe names without special chars
- Adjust support for installing remote packages
- Support to install package from URL
- Make sure short option '-x' is covered
- Add Polarion as a source for test case import
- Print path to the used ssh identity
- Add typing for `steps/prepare/__init__.py`
- Use generator instead of list comprehension with any/all
- Fixes handling of default of --key in connect plugin
- Update test data for the debuginfo install test
- Add a helper for importing a member from a module
- Fix plan schema to allow custom context dimensions
- Allow mypy to cover whole tmt.steps.discover
- Remove support for the obsoleted `detach` executor
- Add typing for `steps/discover/fmf.py`
- Fix importing for pylero
- Allow mypy to cover whole tmt.steps.provision
- Replace blank "type: ignore" with more specific waivers
- Use the `SerializableContainer` for plugins' data
- Enhance SerializableContainer with default key value inspection
- Moves validation and normalization mixins to utils
* Mon Sep 05 2022 Lukáš Zachar <lzachar@redhat.com> - 1.17.0-1
- Unify Polarion case searching
- Error out if reboot timeout is exceeded
- Initialize workdir thread-safe
- Add support for remote playbooks in prepare
- Add plan schema for errata and minute plugins
- Correct rhts command names in stories file
- Print escaped command suitable for manual debugging
- Fix report plugin not getting arguments from fmf file
- Less eager to disable nitrate case during export
- Move `tag` and `tier` to common core attributes
- Use `/bin/bash` instead of `/bin/sh` for execute
- Reorder step and their base plugin classes
- Fix prepare/multihost docs to match implementation
- Teach schema validation tests to peek into other trees
- Clarify motivation for creating `id` during export
- Add link-polarion option and fix link searching bug
- Ignore race in last-run symlink creation
- Fix polarion tcmscaseid search
- Force order of clean operations
- Convert status/clean argument to option
- Report enabled plans/tests/stories via option
- Hint user if 'tmt init' creates nested root
- Require `libvirt-daemon-config-network` as well
- Add type annotation for /steps/prepare/install.py
- Encapsulate created file within script's dataclass
- Adds normalization layer to base classes based on fmf
- Fixes data class used for local guest creation
- Fixes Artemis guest data class link
- Making tests/full more usable
- Add typing for tmt/steps/provision/podman.py
- Add typing for tmt/steps/provision/testcloud.py
- Add typing for tmt/steps/provision/local.py
- Remove unused keys parameter from wake() methods
- Adds types describing tmt constructs when as stored in raw fmf data
- Typing /steps/provision/connect.py
- Allow raising an exception on validation errors
- Inject logger object to base node classes inheritance
- Fixes use of SSH keys in testcloud and connect plugins
- Annotate tmt.steps.provision
- Ask mypy to show error codes in its messages
- Testcloud expects disk and memory to be int
- Do not inherit classes from object
- Use keyword-only init in base fmf-backed classes
- Use decorator to register plugin methods
- Demonstrate inheritance on a virtual test example
- Add a simple hint how to write user messages
- Add typing for `steps/finish/ansible.py`
- Remove unneeded parameters for step load/save (#1428)
- Normalize step data to be always stored a list internally
- Display test/plan/story name in parametrized schema tests
- Allow numbers and booleans to be values of environment
- Give a reasonable error for old data format
- Add typing for tmt/steps/finish/__init__.py
- add typing for steps/discover/shell.py
- Adds a fmf node validation layer to core classes (Test/Plan/Story)
- Add missing keys `role` and `where` to schemas
- Extend plan schema with all known step plugin schemas
- Correcting rhts aliases & adding rhts opt.
- Adds a generic "wait for condition" primitive
- Disallow push/pull/execute if guest is unavailable
- Rename "default how" step attribute to enhance its visibility
- Use textwrap.dedent() to unindent docstrings
* Wed Aug 03 2022 Lukáš Zachar <lzachar@redhat.com> - 1.16.0-1
- Reboot has to check for boot time
- Fix path inside pre-commit test
- Cut circular dependency of libraries
- Update 'Develop' section of contribution docs
- Precommit hooks to call tmt * lint
- Schema loading helpers
- Package schemas in subdirectories too
- Implement reboot reconnect timeout configuration
- Add missing report specifications/docs
- Print result for execute -v
- Correct import assumption about script
- Ask mypy to check whole tmt.steps.report package
- Fixing the directory name escaping in 'cd' command
- Add polarion report plugin
- Add schemas for plans
- Write extra-nitrate as soon as possible
- Retry git clone without --depth=1 if it failed
- Support to lint attribute 'id'
- Do not apply test command filter in upgrade
- Fix export.py typing issues
- Refactor location and signature of Phase's go() method
- Simplify abort handling
- Backwards compatibility for rstrnt-abort
- Add type annotations for tmt/cli.py
- Add typing for tmt/export.py
- add typing for steps/discover/__init__.py
- Convert guest implementations to use serializable container for load/save
- Detect plugins by entry_point as well
- Add typing for `steps/execute/__init__.py`
- Add typing for `tmt/convert.py`
- Remove duplicated dist-git-source/dist-git-type
- Add typing for `steps/report/junit.py`
- Add typing for `steps/report/html.py`
- add typing for steps/report/display.py
- Add typing for steps/report/__init__.py
- tmt-file-submit is a bash script
- Add type annotations for tmt/options.py
- Backwards compatibility for `rstrnt-report-log`
- Support conditional requires with `pip` as well
- Remove duplicated short option in tmt lint
- Adjust the `rstrnt-report-result` implementation
- Backwards compatibility for `rstrnt-report-result`
- Set the `1777` permision for `/var/tmp/tmt`
- Adjust the fix for the `rpm-ostree` intallation
- Fix package installation using `rpm-ostree`
- Handle empty fmf file as an empty dictionary
- Fix distgit testsuite after tmt packaging change
* Sat Jul 02 2022 Lukáš Zachar <lzachar@redhat.com> - 1.15.0-1
- Require fresh testcloud with coreos support
- Bad substitution in tmt-reboot
- Ignore "certificate verify failed" error when handling retries
- Cache content of each loaded environment file
- Initial polarion support for test export
- Fixes names of Artemis API versions
- Convert FmfIdType from TypedDict to a dataclass
- Add CoreOS support to the testcloud provision
- Run containers with root user
- Retry getting environment file
- Test import --general is default now
- Add typing for steps/finish/shell.py
- Enhance tmt.utils.retry_session with timeout support
- Adjust the `rpm-ostree` install implementation
- Add support for the `rpm-ostree` package manager
- Add `environment-file` to possible Plan keys
- Avoid Library url conflict if repo doesn't exist
- Check changes are pushed before export nitrate
- Add typing for beakerlib.py
- Unbundle template from the report.html plugin
- Rename `uuid` to `identifier` to prevent conflicts
- Use `must` for all mandatory spec requirements
- Fail import for packages starting with minus sign
- Adds support for newer Artemis API versions
- Disable the extra verbose progress in testcloud
- Refactor internal executor scripts
- Adds "missing" imports to help IDEs follow objects
- Add typing for steps/__init__.py
- Implement the test `result` attribute
- Add typing for plugins/__init__.py
- Detect legacy relevancy during import as well
- Implement the new user story key `priority`
- Implement new class `SerializableContainer`
- Add schema for stories
- Add typing for steps/prepare/shell.py
- Add typing for steps/prepare/ansible.py
- Require fmf >= 1.1.0 (we need validation support)
- Package fmf root into the source tarball as well
- Add JSON Schema for tests
- Exclude namespaced backup in beakerlib
- Use --depth=1 when cloning git repos by default
- Handle missing nitrate user during export
- Removes unused GuestContainer.container_id attribute
- Every subpackage must require the main tmt package
- Introduce dataclasses as a requirement
- Avoid re-using image/instance for different values by testcloud plugin
- Add typing for multihost.py
- Except nitrate xmlrpc issues during import
- Exclude beakerlib's backup dir from guest.pull()
- Increase `duration` for the reboot-related tests
- Several release-related tests and docs adjustments
* Mon Jun 06 2022 Petr Šplíchal <psplicha@redhat.com> - 1.14.0-1
- Command 'tmt clean' should not run rsync at all
- Dist-git-source for Discover (fmf, shell)