|
|
|
@@ -1,259 +1,448 @@
|
|
|
|
|
Name: tmt
|
|
|
|
|
Version: 1.23.0
|
|
|
|
|
Release: 2%{?dist}
|
|
|
|
|
Name: tmt
|
|
|
|
|
Version: 1.29.0
|
|
|
|
|
Release: %autorelease
|
|
|
|
|
Summary: Test Management Tool
|
|
|
|
|
|
|
|
|
|
Summary: Test Management Tool
|
|
|
|
|
License: MIT
|
|
|
|
|
BuildArch: noarch
|
|
|
|
|
License: MIT
|
|
|
|
|
URL: https://github.com/teemtee/tmt
|
|
|
|
|
Source0: %{pypi_source tmt}
|
|
|
|
|
|
|
|
|
|
# Build only on arches where libguestfs (needed by testcloud) is available
|
|
|
|
|
%{?kernel_arches:ExclusiveArch: %{kernel_arches} noarch}
|
|
|
|
|
%if 0%{?rhel} >= 9
|
|
|
|
|
ExcludeArch: %{power64}
|
|
|
|
|
%endif
|
|
|
|
|
BuildArch: noarch
|
|
|
|
|
BuildRequires: python3-devel
|
|
|
|
|
|
|
|
|
|
URL: https://github.com/teemtee/tmt
|
|
|
|
|
Source0: https://github.com/teemtee/tmt/releases/download/%{version}/tmt-%{version}.tar.gz
|
|
|
|
|
Requires: git-core rsync sshpass
|
|
|
|
|
|
|
|
|
|
Obsoletes: python3-tmt < %{version}-%{release}
|
|
|
|
|
Obsoletes: tmt-report-html < %{version}-%{release}
|
|
|
|
|
Obsoletes: tmt-report-junit < %{version}-%{release}
|
|
|
|
|
Obsoletes: tmt-report-polarion < %{version}-%{release}
|
|
|
|
|
Obsoletes: tmt-report-reportportal < %{version}-%{release}
|
|
|
|
|
|
|
|
|
|
Recommends: bash-completion
|
|
|
|
|
|
|
|
|
|
%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
|
|
|
|
|
%py_provides python3-tmt
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
The tmt Python module and command line tool implement the test
|
|
|
|
|
metadata specification (L1 and L2) and allows easy test execution.
|
|
|
|
|
This package contains the command line tool.
|
|
|
|
|
|
|
|
|
|
%?python_enable_dependency_generator
|
|
|
|
|
%pyproject_extras_subpkg -n tmt export-polarion
|
|
|
|
|
%pyproject_extras_subpkg -n tmt report-junit
|
|
|
|
|
%pyproject_extras_subpkg -n tmt report-polarion
|
|
|
|
|
|
|
|
|
|
%package -n tmt+test-convert
|
|
|
|
|
Summary: Dependencies required for tmt test import and export
|
|
|
|
|
Obsoletes: tmt-test-convert < %{version}-%{release}
|
|
|
|
|
Requires: tmt == %{version}-%{release}
|
|
|
|
|
Requires: make
|
|
|
|
|
Requires: python3-bugzilla
|
|
|
|
|
Requires: python3-nitrate
|
|
|
|
|
Requires: python3-html2text
|
|
|
|
|
Requires: python3-markdown
|
|
|
|
|
|
|
|
|
|
%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 >= 1.2.0
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-requests
|
|
|
|
|
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
|
|
|
|
|
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 tmt+test-convert
|
|
|
|
|
This is a metapackage bringing in extra dependencies for tmt.
|
|
|
|
|
It contains no code, just makes sure the dependencies are installed.
|
|
|
|
|
|
|
|
|
|
%description -n python%{python3_pkgversion}-%{name}
|
|
|
|
|
The tmt Python module and command line tool implement the test
|
|
|
|
|
metadata specification (L1 and L2) and allows easy test execution.
|
|
|
|
|
This package contains the Python 3 module.
|
|
|
|
|
%package -n tmt+provision-container
|
|
|
|
|
Summary: Dependencies required for tmt container provisioner
|
|
|
|
|
Obsoletes: tmt-provision-container < %{version}-%{release}
|
|
|
|
|
Obsoletes: tmt-container < 0.17
|
|
|
|
|
Requires: tmt == %{version}-%{release}
|
|
|
|
|
Requires: podman
|
|
|
|
|
Requires: (ansible or ansible-collection-containers-podman)
|
|
|
|
|
|
|
|
|
|
%package provision-container
|
|
|
|
|
Summary: Container provisioner for the Test Management Tool
|
|
|
|
|
Obsoletes: tmt-container < 0.17
|
|
|
|
|
Requires: tmt == %{version}-%{release}
|
|
|
|
|
Requires: podman
|
|
|
|
|
Requires: (ansible or ansible-collection-containers-podman)
|
|
|
|
|
%description -n tmt+provision-container
|
|
|
|
|
This is a metapackage bringing in extra dependencies for tmt.
|
|
|
|
|
It contains no code, just makes sure the dependencies are installed.
|
|
|
|
|
|
|
|
|
|
%description provision-container
|
|
|
|
|
Dependencies required to run tests in a container environment.
|
|
|
|
|
|
|
|
|
|
%package provision-virtual
|
|
|
|
|
Summary: Virtual machine provisioner for the Test Management Tool
|
|
|
|
|
Obsoletes: tmt-testcloud < 0.17
|
|
|
|
|
Requires: tmt == %{version}-%{release}
|
|
|
|
|
Requires: python%{python3_pkgversion}-testcloud >= 0.9.2
|
|
|
|
|
Requires: libvirt-daemon-config-network
|
|
|
|
|
Requires: openssh-clients
|
|
|
|
|
Requires: (ansible or ansible-core)
|
|
|
|
|
%package -n tmt+provision-virtual
|
|
|
|
|
Summary: Dependencies required for tmt virtual machine provisioner
|
|
|
|
|
Obsoletes: tmt-provision-virtual < %{version}-%{release}
|
|
|
|
|
Obsoletes: tmt-testcloud < 0.17
|
|
|
|
|
Requires: tmt == %{version}-%{release}
|
|
|
|
|
Requires: python3-testcloud >= 0.9.10
|
|
|
|
|
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
|
|
|
|
|
Recommends: qemu-system-aarch64-core
|
|
|
|
|
Recommends: qemu-system-ppc-core
|
|
|
|
|
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
|
|
|
|
|
%description -n tmt+provision-virtual
|
|
|
|
|
This is a metapackage bringing in extra dependencies for tmt.
|
|
|
|
|
It contains no code, just makes sure the dependencies are installed.
|
|
|
|
|
|
|
|
|
|
%if 0%{?rhel} >= 9 || 0%{?fedora}
|
|
|
|
|
%description provision-beaker
|
|
|
|
|
Dependencies required to run tests in a Beaker environment.
|
|
|
|
|
%endif
|
|
|
|
|
%package -n tmt+provision-beaker
|
|
|
|
|
Summary: Dependencies required for tmt beaker provisioner
|
|
|
|
|
Provides: tmt-provision-beaker == %{version}-%{release}
|
|
|
|
|
Obsoletes: tmt-provision-beaker < %{version}-%{release}
|
|
|
|
|
Requires: tmt == %{version}-%{release}
|
|
|
|
|
Requires: python3-mrack-beaker
|
|
|
|
|
|
|
|
|
|
%description provision-virtual
|
|
|
|
|
Dependencies required to run tests in a local virtual machine.
|
|
|
|
|
%description -n tmt+provision-beaker
|
|
|
|
|
This is a metapackage bringing in extra dependencies for tmt.
|
|
|
|
|
It contains no code, just makes sure the dependencies are installed.
|
|
|
|
|
|
|
|
|
|
%package test-convert
|
|
|
|
|
Summary: Test import and export dependencies
|
|
|
|
|
Requires: tmt == %{version}-%{release}
|
|
|
|
|
Requires: make python3-nitrate python3-html2text python3-markdown
|
|
|
|
|
Requires: python3-bugzilla
|
|
|
|
|
# Replace with pyproject_extras_subpkg at some point
|
|
|
|
|
%package -n tmt+all
|
|
|
|
|
Summary: Extra dependencies for the Test Management Tool
|
|
|
|
|
Provides: tmt-all == %{version}-%{release}
|
|
|
|
|
Obsoletes: tmt-all < %{version}-%{release}
|
|
|
|
|
Requires: tmt+test-convert == %{version}-%{release}
|
|
|
|
|
Requires: tmt+export-polarion == %{version}-%{release}
|
|
|
|
|
Requires: tmt+provision-container == %{version}-%{release}
|
|
|
|
|
Requires: tmt+provision-virtual == %{version}-%{release}
|
|
|
|
|
Requires: tmt+provision-beaker == %{version}-%{release}
|
|
|
|
|
Requires: tmt+report-junit == %{version}-%{release}
|
|
|
|
|
Requires: tmt+report-polarion == %{version}-%{release}
|
|
|
|
|
|
|
|
|
|
%description test-convert
|
|
|
|
|
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}
|
|
|
|
|
|
|
|
|
|
%description report-html
|
|
|
|
|
Generate test results in the html format. Quickly review test
|
|
|
|
|
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}
|
|
|
|
|
Requires: tmt-provision-container >= %{version}
|
|
|
|
|
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
|
|
|
|
|
%description -n tmt+all
|
|
|
|
|
All extra dependencies of the Test Management Tool. Install this
|
|
|
|
|
package to have all available plugins ready for testing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%autosetup
|
|
|
|
|
%autosetup -p1 -n tmt-%{version}
|
|
|
|
|
|
|
|
|
|
%generate_buildrequires
|
|
|
|
|
%pyproject_buildrequires
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
%py3_build
|
|
|
|
|
|
|
|
|
|
export SETUPTOOLS_SCM_PRETEND_VERSION=%{version}
|
|
|
|
|
%pyproject_wheel
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
%py3_install
|
|
|
|
|
%pyproject_install
|
|
|
|
|
%pyproject_save_files tmt
|
|
|
|
|
|
|
|
|
|
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}
|
|
|
|
|
install -pm 644 tmt.1 %{buildroot}%{_mandir}/man1
|
|
|
|
|
mkdir -p %{buildroot}%{_datadir}/bash-completion/completions
|
|
|
|
|
install -pm 644 completions/bash/%{name} %{buildroot}%{_datadir}/bash-completion/completions/%{name}
|
|
|
|
|
mkdir -pm 1777 %{buildroot}%{workdir_root}
|
|
|
|
|
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
|
|
|
|
|
%pyproject_check_import
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%{!?_licensedir:%global license %%doc}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
|
%{_mandir}/man1/*
|
|
|
|
|
%{_bindir}/%{name}
|
|
|
|
|
%files -n tmt -f %{pyproject_files}
|
|
|
|
|
%doc README.rst examples
|
|
|
|
|
%license LICENSE
|
|
|
|
|
/etc/bash_completion.d/tmt
|
|
|
|
|
|
|
|
|
|
%files -n python%{python3_pkgversion}-%{name}
|
|
|
|
|
%{python3_sitelib}/%{name}/
|
|
|
|
|
%{python3_sitelib}/%{name}-*.egg-info/
|
|
|
|
|
%license LICENSE
|
|
|
|
|
%{_bindir}/tmt
|
|
|
|
|
%{_mandir}/man1/tmt.1.gz
|
|
|
|
|
%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.*
|
|
|
|
|
%{_datadir}/bash-completion/completions/%{name}
|
|
|
|
|
|
|
|
|
|
%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.*
|
|
|
|
|
%files -n tmt+provision-container -f %{_pyproject_ghost_distinfo}
|
|
|
|
|
%files -n tmt+provision-virtual -f %{_pyproject_ghost_distinfo}
|
|
|
|
|
%files -n tmt+test-convert -f %{_pyproject_ghost_distinfo}
|
|
|
|
|
%files -n tmt+provision-beaker -f %{_pyproject_ghost_distinfo}
|
|
|
|
|
%files -n tmt+all -f %{_pyproject_ghost_distinfo}
|
|
|
|
|
%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*
|
|
|
|
|
|
|
|
|
|
%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
|
|
|
|
|
|
|
|
|
|
%files all
|
|
|
|
|
%license LICENSE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Thu May 15 2023 Lukáš Zachar <lzachar@redhat.com> - 1.23.0-2
|
|
|
|
|
- Require python3-setuptools
|
|
|
|
|
* Mon Nov 06 2023 Lukáš Zachar <lzachar@redhat.com> - 1.29.0
|
|
|
|
|
- Add page `Releases` to highlight important changes
|
|
|
|
|
- Update and polish hardware requirement docs
|
|
|
|
|
- Refactor generating of stories and lint check docs
|
|
|
|
|
- Add support for pruning test directories
|
|
|
|
|
- Download all sources for `dist-git-source`
|
|
|
|
|
- Source plan environment variables after `prepare` and `execute` steps
|
|
|
|
|
- Framework is not consulted on results provided by tmt-report-result
|
|
|
|
|
- Run scripts with `sudo` when `become` is on
|
|
|
|
|
- Add `retry` for pulling images in the `podman` plugin
|
|
|
|
|
- Add hardware schema for GPU
|
|
|
|
|
- Change the default test pidfile directory to `/var/tmp`
|
|
|
|
|
- Add `device` key into the `hardware` specification
|
|
|
|
|
- Update code and test coverage for the `check` key
|
|
|
|
|
- Document case-insensitive context dimension values
|
|
|
|
|
- Fix use of the `-name` suffix in system HW requirement
|
|
|
|
|
- Correct parsing when called as `rhts`
|
|
|
|
|
- Reconcile HW requirements with virtual's own options
|
|
|
|
|
- Move the `README` content into `docs/overview`
|
|
|
|
|
- Make `BasePlugin` generic over step data class
|
|
|
|
|
- Use `UpdatableMessage` for execute/internal progress bar
|
|
|
|
|
- Drop an empty line from the pull request template
|
|
|
|
|
- Add `runner` property to run with test runner facts
|
|
|
|
|
- Export sources of an `fmf` node
|
|
|
|
|
- Bump pre-commit linters to newer versions
|
|
|
|
|
- Append the checklist template to new pull requests
|
|
|
|
|
- Extend tmt-reboot to allow reboot from outside of the test process
|
|
|
|
|
- Allow optional doc themes
|
|
|
|
|
- Use consistent style for multiword test names
|
|
|
|
|
- Show `check` results in the `html` report
|
|
|
|
|
- Update `where` implementation, docs & test coverage (#2411)
|
|
|
|
|
- Document difference between key, field and option
|
|
|
|
|
- Rename multiword keys to use dashes in export and serialization
|
|
|
|
|
- Allow Path instance to be used when constructing commands
|
|
|
|
|
- Switch `Logger.print()` to output to stdout
|
|
|
|
|
- Replace Generator type annotation with Iterator (#2405)
|
|
|
|
|
- Refactor data container helpers
|
|
|
|
|
- When merging fmf and CLI, use shared base step data
|
|
|
|
|
- Fix installing package from the command line
|
|
|
|
|
- Add support for checks to have their data packages
|
|
|
|
|
- Switch `tmt.identifier` from using `fmf.log`
|
|
|
|
|
- Hide test/plan/story internal fields from export
|
|
|
|
|
- Fix full test suite after recent packaging changes
|
|
|
|
|
- Update the list of code owners
|
|
|
|
|
- Include the `fmf` root in the tarball as well
|
|
|
|
|
|
|
|
|
|
* Wed Oct 11 2023 Petr Šplíchal <psplicha@redhat.com> - 1.28.2
|
|
|
|
|
- Build man page during the `release` action
|
|
|
|
|
|
|
|
|
|
* Wed Oct 11 2023 Petr Šplíchal <psplicha@redhat.com> - 1.28.1
|
|
|
|
|
- Remove the `.dev0` suffix from the spec `Version`
|
|
|
|
|
|
|
|
|
|
* Fri Oct 06 2023 Petr Šplíchal <psplicha@redhat.com> - 1.28.0
|
|
|
|
|
- Update the `release` action with `hatch` changes
|
|
|
|
|
- Fix the multihost web test to work with container
|
|
|
|
|
- Add `skip` as a supported custom result outcome
|
|
|
|
|
- Add docs for the new `--update-missing` option
|
|
|
|
|
- Remove irrelevant mention of `rhel-8` in the spec
|
|
|
|
|
- Record start/end time & duration of test checks
|
|
|
|
|
- Add `--update-missing` to update phase fields only when not set by fmf
|
|
|
|
|
- Add --skip-prepare-verify-ssh and --post-install-script to artemis plugin (#2347)
|
|
|
|
|
- Force tmt-link pre-commit to use fmf 1.3.0 which brings new features (#2376)
|
|
|
|
|
- Add logging of applied adjust rules
|
|
|
|
|
- Handle all context dimension values case insensitive
|
|
|
|
|
- Hide `OPTIONLESS_FIELDS` from `tmt plan show`
|
|
|
|
|
- Add context into the `html` report
|
|
|
|
|
- Display test check results in `display` report output
|
|
|
|
|
- Fix creation of guest data from plugin options
|
|
|
|
|
- Allow wider output
|
|
|
|
|
- Beaker plugin is negating Beaker operators by default
|
|
|
|
|
- Include link to the data directory in the html report
|
|
|
|
|
- Teach logging methods to handle common types
|
|
|
|
|
- Move the copr repository to the `teemtee` group
|
|
|
|
|
- Add a new `cpu` property `stepping` to hardware
|
|
|
|
|
- Extract beakerlib phase name to a failure log
|
|
|
|
|
- Always show the real beaker job id
|
|
|
|
|
- Create a production copr build for each release
|
|
|
|
|
- AVC denials check for tests (#2331)
|
|
|
|
|
- Add nice & colorfull help to "make" targets
|
|
|
|
|
- Include more dependencies in the dev environment
|
|
|
|
|
- Stop using the `_version.py` file
|
|
|
|
|
- Replace `opt()` for `--dry/--force` with properties
|
|
|
|
|
- Update build names for copr/main and pull requests
|
|
|
|
|
- Use `hatch` and `pyproject`, refactor `tmt.spec`
|
|
|
|
|
- Use dataclass for log record details instead of typed dict
|
|
|
|
|
- Refactor html report plugin to use existing template rendering
|
|
|
|
|
- Narrow type of hardware constraint variants
|
|
|
|
|
- Refactor parameters of `Plan._iter_steps()`
|
|
|
|
|
- Use `format_value()` instead of `pprint()`
|
|
|
|
|
- Use the minimal plan to test imported plan execution
|
|
|
|
|
- Refactor exception rendering to use generators
|
|
|
|
|
- Add the `export` callback for fields (#2288)
|
|
|
|
|
- Update a verified-by link for the beaker provision
|
|
|
|
|
- Multi-string help texts converted to multiline strings
|
|
|
|
|
- Make the upload to PyPI working again
|
|
|
|
|
- Hide command event debug logs behind a log topic (#2281)
|
|
|
|
|
- Replace `pkg_resources` with `importlib.resources`
|
|
|
|
|
- Wrap `click.Choice` use with `choices` parameter
|
|
|
|
|
- Lower unnecessary verbosity of podman commands
|
|
|
|
|
- Move check-related code into `tmt.checks`
|
|
|
|
|
- Disable `systemd-resolved` to prevent dns failures
|
|
|
|
|
- Adjust test coverage for deep beakerlib libraries
|
|
|
|
|
- Document migration from provision.fmf to tmt (#2325)
|
|
|
|
|
- Remove TBD of initiator context for Packit
|
|
|
|
|
- Fix output indentation of imported plans
|
|
|
|
|
- Copr repo with a group owner requires quotes
|
|
|
|
|
|
|
|
|
|
* Wed Sep 06 2023 Petr Šplíchal <psplicha@redhat.com> - 1.27.0-1
|
|
|
|
|
- Use `testcloud` domain API v2
|
|
|
|
|
- Bootstrap before/after test checks (#2210)
|
|
|
|
|
- Separate value formatting from key/value nature of tmt.utils.format()
|
|
|
|
|
- Render `link` fields in tmt stories and specs
|
|
|
|
|
- Render default friendly command for guest execution
|
|
|
|
|
- Use consistently plural/singular forms in docs
|
|
|
|
|
- Make file/fmf dependencies hashable
|
|
|
|
|
- Rewrite git url for discover fmf: modified-only
|
|
|
|
|
- Refactor Artemis and Beaker provision tests to make room for HW
|
|
|
|
|
- Adjust imported plan to let its adjust rules make changes
|
|
|
|
|
- Get Ansible logging on par with general command execution
|
|
|
|
|
- Support Click versions newer than 8.1.4
|
|
|
|
|
- Teach tmt test create to link relevant issues (#2273)
|
|
|
|
|
- Add story describing CLI for multiple phases
|
|
|
|
|
- When rendering exception, indetation was dropping empty lines
|
|
|
|
|
- Expose tmt version as an environment variable
|
|
|
|
|
- Fix handling of integers and hostname in Beaker plugin
|
|
|
|
|
- Fix bug where polarion component is misinterpreted as list
|
|
|
|
|
- Refactor recording of CLI subcommand invocations (#2188)
|
|
|
|
|
- Put `--help` at the end of the CLI in the step usage
|
|
|
|
|
- Extend the expected `pip install` fail to `f-39`
|
|
|
|
|
- Make `tmt init` add .fmf directory into git index
|
|
|
|
|
- Fix guest data show() and how it displays hardware requirements
|
|
|
|
|
- Add lint check for matching guests, roles and where keys
|
|
|
|
|
- Add -e/--environment/--environment-files to plan show/export
|
|
|
|
|
- No more need to install `pre-commit` using `pip`
|
|
|
|
|
- Ensure that step phases have unique names
|
|
|
|
|
- Verbose regular expression for linter descriptions
|
|
|
|
|
- Initial draft of hardware requirement helpers
|
|
|
|
|
- Simplify the reportportal plugin test using `yq`
|
|
|
|
|
- Add dynamic ref support to library type dependency
|
|
|
|
|
- Remove `epel-8` and `python-3.6` specifics
|
|
|
|
|
- Use the latest `sphinx-rtd-theme` for docs building
|
|
|
|
|
- Full `pip install` expected to fail on `Rawhide`
|
|
|
|
|
- Add missing name attribute to report plugins schema
|
|
|
|
|
- Add missing arguments in polarion report schema
|
|
|
|
|
- Extend sufficiently the full test suite duration
|
|
|
|
|
- Add support for log types to Artemis plugin
|
|
|
|
|
- Fix `tmt run --follow`, add test coverage for it
|
|
|
|
|
- Remove the temporary hotfix for deep libraries
|
|
|
|
|
|
|
|
|
|
* 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
|
|
|
|
|
- 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
|
|
|
|
|