|
|
|
@@ -1,6 +1,6 @@
|
|
|
|
|
Name: tmt
|
|
|
|
|
Version: 1.14.0
|
|
|
|
|
Release: 1%{?dist}
|
|
|
|
|
Version: 1.23.0
|
|
|
|
|
Release: 2%{?dist}
|
|
|
|
|
|
|
|
|
|
Summary: Test Management Tool
|
|
|
|
|
License: MIT
|
|
|
|
@@ -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,19 +42,27 @@ 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
|
|
|
|
|
%if 0%{?rhel} >= 9 || 0%{?fedora}
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-mrack-beaker >= 1.12.1
|
|
|
|
|
%endif
|
|
|
|
|
# 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
|
|
|
|
|
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}
|
|
|
|
|
# Necessary until tmt-1.24 is released
|
|
|
|
|
Requires: python%{python3_pkgversion}-setuptools
|
|
|
|
|
|
|
|
|
|
%description -n python%{python3_pkgversion}-%{name}
|
|
|
|
|
The tmt Python module and command line tool implement the test
|
|
|
|
@@ -67,7 +83,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 +95,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 +121,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 +129,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 +159,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 +185,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 +210,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 +252,511 @@ install -pm 644 bin/complete %{buildroot}/etc/bash_completion.d/tmt
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Thu May 15 2023 Lukáš Zachar <lzachar@redhat.com> - 1.23.0-2
|
|
|
|
|
- Require python3-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)
|
|
|
|
|