17 Commits

Author SHA1 Message Date
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
Petr Šplíchal 9ccb69cd29 Release tmt-1.14.0 2022-06-07 09:20:37 +02:00
Petr Šplíchal de7f0d1b44 Release tmt-1.13.0 2022-05-02 19:29:52 +02:00
Petr Šplíchal d1fc6e809e Release tmt-1.12.0 2022-04-05 09:44:11 +02:00
Petr Šplíchal a5a419284a Release tmt-1.11.0 2022-03-02 12:35:03 +01:00
Petr Šplíchal 5e4f583845 Enable gating, update upstream test repository url 2022-03-02 12:32:13 +01:00
Lukas Zachar a6fceaf030 Release tmt-1.10.0 2022-02-01 18:22:00 +01:00
Fedora Release Engineering 78f29c4349 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 02:50:37 +00:00
Petr Šplíchal 44418547bf Release tmt-1.9.0 2021-11-30 21:57:47 +01:00
Petr Šplíchal dcf9262de3 Report test results as separate plans 2021-11-11 11:56:20 +01:00
6 changed files with 580 additions and 43 deletions
+12
View File
@@ -19,3 +19,15 @@
/tmt-1.6.0.tar.gz
/tmt-1.7.0.tar.gz
/tmt-1.8.0.tar.gz
/tmt-1.9.0.tar.gz
/tmt-1.10.0.tar.gz
/tmt-1.11.0.tar.gz
/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
+1
View File
@@ -0,0 +1 @@
resultsdb-testcase: separate
+10
View File
@@ -0,0 +1,10 @@
--- !Policy
product_versions:
- fedora-*
decision_contexts:
- bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/minimal.functional}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/upstream.functional}
+1 -1
View File
@@ -2,7 +2,7 @@ summary:
Upstream tests working under virtual machine
discover:
how: fmf
url: https://github.com/psss/tmt
url: https://github.com/teemtee/tmt
ref: fedora
filter: tag:virtual
execute:
+1 -1
View File
@@ -1 +1 @@
SHA512 (tmt-1.8.0.tar.gz) = 95604745d303c681615294b5c503821ab8036e4acdfc98ecf30ffa338301f2bdef9d30294d29929a9597a054fd3fd2a4097812a8a1c9bc9ee21457299536a822
SHA512 (tmt-1.20.0.tar.gz) = bff27abb086083a5a39d18261cbbdb890c0a1c7d0dd3b4da13354f2e985e9929f7e7b629b92a6f6048a1d989f0ff61bbc180254bbdcf052b3b8ca9a4a2855c4b
+555 -41
View File
@@ -1,28 +1,26 @@
Name: tmt
Version: 1.8.0
Version: 1.20.0
Release: 1%{?dist}
Summary: Test Management Tool
License: MIT
BuildArch: noarch
# Build only on arches where libguestfs (needed by testcloud) is available
%{?kernel_arches:ExclusiveArch: %{kernel_arches} noarch}
%if 0%{?rhel} >= 9
ExcludeArch: %{power64}
%endif
URL: https://github.com/psss/tmt
Source0: https://github.com/psss/tmt/releases/download/%{version}/tmt-%{version}.tar.gz
URL: https://github.com/teemtee/tmt
Source0: https://github.com/teemtee/tmt/releases/download/%{version}/tmt-%{version}.tar.gz
# Depending on the distro, we set some defaults.
# Note that the bcond macros are named for the CLI option they create.
# "%%bcond_without" means "ENABLE by default and create a --without option"
%define workdir_root /var/tmp/tmt
# Fedora or RHEL 8+
%if 0%{?fedora} || 0%{?rhel} > 7
%bcond_with oldreqs
%bcond_with englocale
%else
# The automatic runtime dependency generator doesn't exist yet
%bcond_without oldreqs
# The C.UTF-8 locale doesn't exist, Python defaults to C (ASCII)
%bcond_without englocale
# 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
@@ -40,22 +38,25 @@ This package contains the command line tool.
%package -n python%{python3_pkgversion}-%{name}
Summary: Python library for the %{summary}
BuildRequires: python%{python3_pkgversion}-devel
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}-mock
BuildRequires: python%{python3_pkgversion}-fmf >= 1.2.0
BuildRequires: python%{python3_pkgversion}-requests
BuildRequires: python%{python3_pkgversion}-testcloud
BuildRequires: python%{python3_pkgversion}-testcloud >= 0.8.1
BuildRequires: python%{python3_pkgversion}-markdown
BuildRequires: python%{python3_pkgversion}-junit_xml
BuildRequires: python%{python3_pkgversion}-ruamel-yaml
# 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}}
%if %{with oldreqs}
Requires: python%{python3_pkgversion}-ruamel-yaml
%endif
%description -n python%{python3_pkgversion}-%{name}
The tmt Python module and command line tool implement the test
@@ -66,7 +67,8 @@ This package contains the Python 3 module.
Summary: Container provisioner for the Test Management Tool
Obsoletes: tmt-container < 0.17
Requires: tmt == %{version}-%{release}
Requires: ansible podman
Requires: podman
Requires: (ansible or ansible-collection-containers-podman)
%description provision-container
Dependencies required to run tests in a container environment.
@@ -75,14 +77,24 @@ 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.6.1
Requires: ansible openssh-clients
Requires: python%{python3_pkgversion}-testcloud >= 0.8.1
Requires: libvirt-daemon-config-network
Requires: openssh-clients
Requires: (ansible or ansible-core)
# Recommend qemu system emulators for supported arches
%if 0%{?fedora}
Recommends: qemu-system-aarch64-core
Recommends: qemu-system-ppc-core
Recommends: qemu-system-s390x-core
Recommends: qemu-system-x86-core
%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,6 +103,7 @@ Additional dependencies needed for test metadata import and export.
%package report-html
Summary: Report plugin with support for generating web pages
Requires: tmt == %{version}-%{release}
Requires: python3-jinja2
%description report-html
@@ -99,11 +112,19 @@ 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}
%description report-polarion
Generate test results in xUnit format for exporting to Polarion.
%package all
Summary: Extra dependencies for the Test Management Tool
Requires: tmt >= %{version}
@@ -112,6 +133,7 @@ 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}
%description all
All extra dependencies of the Test Management Tool. Install this
@@ -119,35 +141,24 @@ package to have all available plugins ready for testing.
%prep
%setup -q
%autosetup
%build
%if %{with englocale}
export LANG=en_US.utf-8
%endif
%py3_build
%install
%if %{with englocale}
export LANG=en_US.utf-8
%endif
%py3_install
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}
%check
%if %{with englocale}
export LANG=en_US.utf-8
%endif
%{__python3} -m pytest -vv -m 'not web' --ignore=tests/integration
@@ -165,9 +176,11 @@ export LANG=en_US.utf-8
%{python3_sitelib}/%{name}/
%{python3_sitelib}/%{name}-*.egg-info/
%license LICENSE
%dir %{workdir_root}
%exclude %{python3_sitelib}/%{name}/steps/provision/{,__pycache__/}{podman,testcloud}.*
%exclude %{python3_sitelib}/%{name}/steps/report/{,__pycache__/}html.*
%exclude %{python3_sitelib}/%{name}/steps/report/{,__pycache__/}html*
%exclude %{python3_sitelib}/%{name}/steps/report/{,__pycache__/}junit.*
%exclude %{python3_sitelib}/%{name}/steps/report/{,__pycache__/}polarion.*
%files provision-container
%{python3_sitelib}/%{name}/steps/provision/{,__pycache__/}podman.*
@@ -176,11 +189,15 @@ export LANG=en_US.utf-8
%{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 test-convert
%license LICENSE
@@ -189,6 +206,503 @@ export LANG=en_US.utf-8
%changelog
* 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)
- Adjust the new `id` key implementation
- Add a new core key `id` for unique identifiers
- Recommend qemu emulators for other architectures
- Copy the whole git repo only if necessary
- Reveal hidden errors during `testcloud` booting
- Use time for timeout handling in Guest.reconnect()
- Split `Guest` class to separate SSH-capable guests
- Explicitly set the docs language in the config
- Kill the running test when rebooting
- Extend the reboot timeout to allow system upgrades
- Allow selecting tasks directly from upgrade config
- Adjust the new `upgrade` execute plugin
- Allow specifying command for reboot
- Implement upgrade execute plugin
- Buildrequire python3-docutils, append plan adjust
- Implement `tmt tests export --nitrate --link-runs`
- Detect component from general plan during import
- Adjust the support for steps in standalone mode
- Add results method to ExecutePlugin
- Implement a common ancestor for Action and Plugin
- Allow abstractly excluding steps from runs
- Correctly handle tests --name '.' shortcut
- Rename WorkdirType to WorkdirArgumentType
- Fix workdir parameter type for tmt.utils.Common
- Allows importing jira issues as link-relates
- Enables mypy coverage for empty-ish Python files
- Adds type annotations to tmt.templates
- Prevent infinite recursion if --id is set
- Enable mypy check for Artemis provision plugin
- Adjust provision dry mode propagation, add a test
- Introduce new _options attribute to Common class
- Add specification for remote plans referencing
- Bootstrap type annotations
- Execute script should not be used with discover
- Add the `arch` key to the hardware specification
- Fix pip install instructions
- Disable network access when building in copr
- Ignore list for dist-git-source
- Remove the obsoleted `detach` execute method
- Fix login during `execute` and `prepare` step
- Import from Makefile with missing build target
* Mon May 02 2022 Petr Šplíchal <psplicha@redhat.com> - 1.13.0-1
- Add multiarch support to testcloud provision
- Consistent summary for test export --nitrate
- Allow dry mode for tests export --nitrate
- Add a nice provisioning progress to Artemis plugin
- Add support for the `where` keyword to `execute`
- Adjust support for export of multiple tests
- Add support for exporting multiple tests
- Basic multihost test for the httpd web server
- Update multihost specification with guest groups
- Add a provision plugin for Artemis
- Fix exclude option in fmf discover
- Reduce the number of execute calls for reboot
- Add support for reboot in interactive mode
* Mon Apr 04 2022 Petr Šplíchal <psplicha@redhat.com> - 1.12.0-1
- Add a command to setup shell completions
- Use /tmp instead of /run/user/ if not available
- Use separate examples in the test specification
- Add more story examples, simplify examples export
- Story.example can hold list of strings
- Fix traceback when connect plugin is used without hostname.
- Adjust disabled shell expansion in Common.run()
- Disable shell expansion in Common.run() by default
- Build `epel9` packages, update install docs
- Adjust the full test wrapper and document it
- Test which compiles tmt and runs its testsuite
- Add --exclude search option
- Correct regex for require read from metadata file
- Update document for creating virtual environment
- Option to export fmf-id from run discover -h fmf
- Allow import from restraint's metadata file (#1043)
- Do not disable building for power arch on Fedora
- Update documentation for plan parametrization
- Make .vscode ignored by git
- Drops basestring and unicode built-ins from utils
- Fix timeout behaviour in testcloud plugin
- Fixes possible test of None-ish CWD when running a command
- Remove workdir only when its defined
- Adjust the new `tmt plan export` feature
- New feature: tmt plan export
* Wed Mar 02 2022 Petr Šplíchal <psplicha@redhat.com> - 1.11.0-1
- Prevent koji build failures on unsupported arches
- Check remote git URL if it is accessible
- Implement a generic `requires` for all plugins
- Run commands in podman provision via bash
- Adjust implementation of the new `order` attribute
- Implement the Core attribute `order`
- Fix link generation in report.html
- Improve step name handling
- Enable shared volume mounts in podman provision
- Add support for multihost provision and prepare
- Adjust the dnf support for rsync install
- Add dnf support for rsync install
- Update links and refs after migration to `teemtee`
- Track output for reboot purposes on per-test basis
- Fix test --name '.' used with multiple plans
- Tweak test suite (duration, centos:8, datadir)
- Use `os.pathsep` to separate `TMT_PLUGINS` paths (#1049)
- Document framework:shell exit codes
- Add `html2text` to the `convert` pip dependencies
* Tue Feb 01 2022 Lukáš Zachar <lzachar@redhat.com> - 1.10.0-1
- Make reboot support a bit more backward compatible
- Ensure that workdir has a correct selinux context
- Use `centos:stream8` image instead of `centos:8`
- Disable X11 forwarding in ssh connections
- Fix traceback for login after last report
- Use `TMT_TEST_DATA` as location for `rlFileSubmit`
- Implement variables for storing logs and artifacts
- Adjust rsync installation on read-only distros
- Handle rsync installation on read-only distros
- Add hardware specification for hostname
- Correctly import multiple bugs from Makefile
- Remove dependency on the `python3-mock` package
- Adjust linting of manual test files
- Check Markdown files in tmt lint if `manual=True`
- Adjust pulling logs from the guest during finish
- Add guest.pull() to the finish step
- Update virtualization hints for session connection
- Improve error message for empty git repositories
- Minor modification of test result specification
- Use `where` instead of `on` in the multihost spec
- Clarify that `path` is defined from the tree root
- Adjust ansible requires for containers preparation
- Move the reboot scripts to a read/write directory
- Ignore read/only file systems reboot script errors
- Require either ansible or ansible-core
- Set the `TMT_TREE` variable during test execution
- Clarify that 'until' means until and including
- Update test debugging examples with --force option
- Add `bios.method` to hardware spec
- Improve environment variables specification a bit
- Adjust the ssh connection multiplexing
- Add support for ssh multiplexing
* Tue Nov 30 2021 Petr Šplíchal <psplicha@redhat.com> - 1.9.0-1
- Improve testcloud/virtual provider docs
- Disable UseDNS, GSSAPI for faster SSH in testcloud
- Use `extra-args` attr for ansible-playbook
- Fix el7 provision in testcloud user session
- Adjust the instructions for migrating from STI
- Document how to migrate tests from STI to tmt
- Allow to pick objects by --link
- Generate ecdsa key in testcloud
- Simplify plugin keys handling in wake() and show()
- Add support for Beakerlib's rlFileSubmit
- Revert requiring exact beakerlib version
- Dist git source can contain multiple files
- Symlink worktree for discovered shell tests
- Read environment variables from options only once
- Correctly handle empty environment files
- Use distro values from context for dist-git type
- Make tests --name to just prune discovered tests
- Enable duplicate test names and preserve ordering
- Require beakerlib-1.28 for beakerlib tests
- Adjust the dist git source discover implementation
- Discover tmt tests from sources
- Reenable plans/install/docs
- Correct the `playbook` attribute in the spec (#948)
- Ansible plugin for Finish step
- Thread processing of executed commands inside tmt
- Adjust `tmt test lint` test for old yaml format
- Canonical name for centos-stream in dimension
- Remove obsoleted conditionals from the spec file
- Use a fresh sphinx when building the readthedocs
- Allow to specify session type (system/session)
- Package tmt.plugins to store arbitrary plugins
- Ignore ssh connection closed during reboot
- Improve error message for the missing step name
- Document how to integrate tests with other tools
- Use the recommended format of the copyright notice
- Update notes about the release process
- Update the hardware specification with new keys
* Thu Sep 30 2021 Lukáš Zachar <lzachar@redhat.com> - 1.8.0-1
- Add support for reboot in a reused provision
- Solve the reboot race condition
@@ -213,7 +727,7 @@ export LANG=en_US.utf-8
- Produce better errors for unsupported plugins
- Add more ignored files, categorize gitignore more
- Extend .gitignore with a few more common patterns
- (robin/master) Export fields of a case should be checked by lint
- Export fields of a case should be checked by lint
- Adjust the bugzilla support in test export
- Test export can link case to bugzilla
- Document the support for `open` key in html report