37 Commits

Author SHA1 Message Date
Packit 14f714d9aa Update to 1.39.0 upstream release
Upstream tag: 1.39.0
Upstream commit: 71d5b3e3

Commit authored by Packit automation (https://packit.dev/)
2024-11-22 06:17:40 +00:00
Packit 7d9e69481b Update to 1.38.0 upstream release
Upstream tag: 1.38.0
Upstream commit: cc75eb6b

Commit authored by Packit automation (https://packit.dev/)
2024-10-25 16:25:22 +00:00
Packit dbc74646cc Update to 1.37.0 upstream release
Upstream tag: 1.37.0
Upstream commit: 828e04e6

Commit authored by Packit automation (https://packit.dev/)
2024-10-02 11:14:51 +00:00
Packit 152b6eff4d Update to 1.36.1 upstream release
Upstream tag: 1.36.1
Upstream commit: fb586fcd

Commit authored by Packit automation (https://packit.dev/)
2024-09-13 13:58:39 +00:00
Packit 5b003e0a04 Update to 1.36.0 upstream release
Upstream tag: 1.36.0
Upstream commit: a8603c7d

Commit authored by Packit automation (https://packit.dev/)
2024-09-05 07:09:51 +00:00
Packit 4d96f9289c Update to 1.35.0 upstream release
Upstream tag: 1.35.0
Upstream commit: 718c2e3d

Commit authored by Packit automation (https://packit.dev/)
2024-08-09 10:16:16 +00:00
Packit 918037c775 Update to 1.34.0 upstream release
Upstream tag: 1.34.0
Upstream commit: 6af3b395

Commit authored by Packit automation (https://packit.dev/)
2024-06-19 15:10:08 +00:00
Packit ed4bc760da Update to 1.33.0 upstream release
Upstream tag: 1.33.0
Upstream commit: a47645ca

Commit authored by Packit automation (https://packit.dev/)
2024-05-09 09:33:53 +00:00
Packit c434ec1375 Update to 1.32.2 upstream release
Upstream tag: 1.32.2
Upstream commit: 0b0398a2

Commit authored by Packit automation (https://packit.dev/)
2024-04-22 07:31:16 +00:00
Packit 8609bbf197 [packit] 1.32.1 upstream release
Upstream tag: 1.32.1
Upstream commit: c476703a
2024-04-01 18:25:22 +00:00
Lukáš Zachar cf14d2ec99 Merge branch 'rawhide' into f39 2024-03-28 15:14:47 +01:00
Petr Šplíchal 65c7e58f89 Run tier 1 tests only from the upstream tests set 2024-03-28 08:56:59 +01:00
Petr Šplíchal 7bc338bfe8 Drop the virtual tag from /plans/upstream
It should not be necessary as both `/tests/core/escaping` and
`/tests/core/spaces` which are filtered out by it should now work
just fine under a virtualized machine.
2024-03-04 21:42:41 +01:00
Michal Hlavinka defe612480 allow /var/tmp/tmt for rpminspect addedfiles check
fixes bodhi update ci checks
2024-02-13 09:35:00 +01:00
Michal Hlavinka 5baffd6f88 allow /var/tmp/tmt for rpminspect addedfiles check
fixes bodhi update ci checks
2024-02-13 08:28:35 +01:00
Packit 39ff27ed0e [packit] 1.31.0 upstream release
Upstream tag: 1.31.0
Upstream commit: fdb16ba3
2024-02-06 19:20:07 +00:00
Packit 8a77af960c [packit] 1.31.0 upstream release
Upstream tag: 1.31.0
Upstream commit: fdb16ba3
2024-02-06 19:19:47 +00:00
Fedora Release Engineering df5d3c5ce0 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 06:26:01 +00:00
Packit d22d551733 [packit] 1.30.0 upstream release
Upstream tag: 1.30.0
Upstream commit: 1a46dbb0
2023-12-11 20:22:54 +00:00
Packit 026c942cb8 [packit] 1.30.0 upstream release
Upstream tag: 1.30.0
Upstream commit: 1a46dbb0
2023-12-11 20:22:29 +00:00
Packit e488417c7c [packit] 1.29.0 upstream release
Upstream tag: 1.29.0
Upstream commit: 808858e8
2023-11-06 19:56:58 +00:00
Packit 24e4a06714 [packit] 1.29.0 upstream release
Upstream tag: 1.29.0
Upstream commit: 808858e8
2023-11-06 19:56:29 +00:00
Packit 147a09813e [packit] 1.28.2 upstream release
Upstream tag: 1.28.2
Upstream commit: 81f02df4
2023-10-11 15:06:14 +00:00
Packit d2ce4d846b [packit] 1.28.2 upstream release
Upstream tag: 1.28.2
Upstream commit: 81f02df4
2023-10-11 15:05:55 +00:00
Petr Šplíchal 6cef9fcb4d Install yq which is needed by some newer tests 2023-09-08 10:13:24 +02:00
Petr Šplíchal 960429a4fb Install yq which is needed by some newer tests 2023-09-07 12:24:05 +02:00
Packit 358dfd6abb [packit] 1.27.0 upstream release
Upstream tag: 1.27.0
Upstream commit: 9c35269a

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

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

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

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

If you need to do any change in this pull request, you need to locally fetch the source branch of it and push it (with a fix) to your fork (as it is not possible to push to the branch created in the Packit’s fork):
```
git fetch https://src.fedoraproject.org/forks/packit/rpms/tmt.git refs/heads/*:refs/remotes/packit/*
git checkout packit/1.26.0-rawhide-update-propose_downstream
```
2023-07-31 19:22:17 +00:00
Fedora Release Engineering d5dae2eab0 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 16:29:26 +00:00
Lukas Zachar b60b1474b8 Remove BuildRequire on python3-mrack-beaker temporarily
Isn't really required during the build and currently cannot be
installed. Details in
https://bugzilla.redhat.com/show_bug.cgi?id=2219944 and
https://bugzilla.redhat.com/show_bug.cgi?id=2220610
2023-07-10 16:46:15 +02:00
Lukas Zachar fe802a9642 [packit] 1.25.0 upstream release
Upstream tag: 1.25.0
Upstream commit: 7b7ecc7b
2023-07-10 16:18:17 +02:00
Lukas Zachar a57fedc071 Backported dnf5 related changes 2023-06-22 15:50:13 +02:00
Petr Šplíchal 2a37959c53 Use the correct tmt name, link to main docs only 2023-06-09 12:00:07 +02:00
Petr Šplíchal a9dc05644b [packit] 1.24.1 upstream release
Upstream tag: 1.24.1
Upstream commit: 9206e034
2023-06-09 10:55:28 +02:00
9 changed files with 828 additions and 290 deletions
+15
View File
@@ -38,3 +38,18 @@
/tmt-1.25.0.tar.gz
/tmt-1.26.0.tar.gz
/tmt-1.26.1.tar.gz
/tmt-1.27.0.tar.gz
/tmt-1.28.2.tar.gz
/tmt-1.29.0.tar.gz
/tmt-1.30.0.tar.gz
/tmt-1.31.0.tar.gz
/tmt-1.32.1.tar.gz
/tmt-1.32.2.tar.gz
/tmt-1.33.0.tar.gz
/tmt-1.34.0.tar.gz
/tmt-1.35.0.tar.gz
/tmt-1.36.0.tar.gz
/tmt-1.36.1.tar.gz
/tmt-1.37.0.tar.gz
/tmt-1.38.0.tar.gz
/tmt-1.39.0.tar.gz
+121 -64
View File
@@ -2,113 +2,170 @@ specfile_path: tmt.spec
files_to_sync:
- tmt.spec
- .packit.yaml
sync_changelog: true
upstream_project_name: tmt
upstream_package_name: tmt
downstream_package_name: tmt
upstream_project_url: https://github.com/teemtee/tmt
issue_repository: https://github.com/teemtee/tmt
actions:
post-upstream-clone:
- make bump2dev
create-archive:
- make tarball
get-current-version:
- make version
srpm_build_deps:
- make
- python3-docutils
- hatch
- python3-hatch-vcs
actions: &base-actions
create-archive:
- hatch run docs:man
- hatch build -t sdist
- bash -c "ls dist/tmt-*.tar.gz"
get-current-version:
- hatch version
targets: &all-targets
- fedora-all
- epel-9
# Uncomment below line if OpenScanHub scans are failing
# osh_diff_scan_after_copr_build: false
jobs:
# Build pull requests
- job: copr_build
- &copr_build
job: copr_build
trigger: pull_request
targets:
- fedora-all
- epel-8
- epel-9
enable_net: False
actions:
<<: *base-actions
get-current-version:
# Use `dev888` instead of the last version digit to make
# builds older than the final release and newer than
# copr builds from main. Remove the remaining suffix
# generated by `hatch version` as well so that build
# with the latest timestamp always wins.
- bash -c "hatch version | sed -E 's/\\.[0-9]+\\.dev.*/.dev888/'"
# Test pull requests
- job: tests
# Test core
- &tests
job: tests
trigger: pull_request
targets:
- fedora-all
- epel-8
targets: &latest-targets
- fedora-latest-stable
- epel-9
identifier: core
tf_extra_params:
test:
tmt:
name: /plans/features/(core|basic)
# Test full
# Do not run extended unit tests, that plan gets its own job because
# of podman vs systemd-resolved flakiness.
- <<: *tests
targets: *all-targets
require: &require-full-tests
label:
present:
- ci | full test
absent:
- status | discuss
identifier: full
tf_extra_params:
test:
tmt:
name: '^(?!/plans/features/extended-unit-tests).*$'
# Extended unit tests
- <<: *tests
targets: [ fedora-latest-stable ]
require: *require-full-tests
identifier: extended-unit-tests
tf_extra_params:
test:
tmt:
name: '/plans/features/extended-unit-tests$'
# Test virtual provision
- <<: *tests
use_internal_tf: True
targets: &internal-targets
- fedora-latest-stable
require: *require-full-tests
identifier: provision
tf_extra_params:
test:
tmt:
name: /plans/provision/(bootc|virtual)
environments:
- tmt:
context:
how: provision
- &tmt-cloud-resources
settings:
provisioning:
tags:
BusinessUnit: tmt
# Test internal plugins
- job: tests
trigger: pull_request
identifier: "internal-plugins"
targets:
- fedora-latest-stable
- <<: *tests
use_internal_tf: True
targets: *internal-targets
require: *require-full-tests
identifier: internal-plugins
fmf_url: "https://gitlab.cee.redhat.com/baseos-qe/tmt.git"
# Tag cloud resources for tmt
tf_extra_params:
environments:
- settings:
provisioning:
tags:
BusinessUnit: tmt
environments:
- *tmt-cloud-resources
# Test internal wow
- job: tests
trigger: pull_request
identifier: "internal-wow"
targets:
- fedora-latest-stable
- <<: *tests
use_internal_tf: True
targets: *internal-targets
require: *require-full-tests
identifier: internal-wow
fmf_url: "https://gitlab.cee.redhat.com/baseos-qe/integration_scripts.git"
tmt_plan: "/tmt/integration/plan"
tf_extra_params:
environments:
- settings:
provisioning:
tags:
BusinessUnit: tmt
environments:
- *tmt-cloud-resources
# Build commits to main
- job: copr_build
- <<: *copr_build
trigger: commit
branch: main
targets:
- fedora-all
- epel-8
- epel-9
enable_net: False
list_on_homepage: True
preserve_project: True
owner: psss
owner: "@teemtee"
project: tmt
release_suffix: "{PACKIT_PROJECT_BRANCH}"
actions:
<<: *base-actions
get-current-version:
# Get rid of the the final version digit to make copr
# builds older than the final release
- bash -c "hatch version | sed -E 's/\\.[0-9]+\\.dev/.dev/'"
# Release to copr
- <<: *copr_build
trigger: release
list_on_homepage: True
preserve_project: True
owner: "@teemtee"
project: tmt
actions: *base-actions
# Fedora releases
- job: propose_downstream
trigger: release
dist_git_branches:
- fedora-all
- epel-8
- epel-9
actions:
post-upstream-clone: []
dist_git_branches: *all-targets
- job: koji_build
trigger: commit
allowed_pr_authors: ["packit", "psss", "lzachar"]
allowed_committers: ["packit", "psss", "lzachar"]
dist_git_branches:
- fedora-all
- epel-8
- epel-9
allowed_pr_authors: [ "packit", "psss", "lzachar" ]
allowed_committers: [ "packit", "psss", "lzachar" ]
dist_git_branches: *all-targets
- job: bodhi_update
trigger: commit
dist_git_branches:
- fedora-branched
- epel-8
- epel-9
+1 -2
View File
@@ -1,6 +1,5 @@
# tmt
Test Metadata Tool
Test Management Tool
* https://github.com/psss/tmt/
* https://tmt.readthedocs.io/
+1 -1
View File
@@ -1,3 +1,3 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 0.79.1.post6+g144ce0c.
The file was generated using packit 0.104.0.
+66
View File
@@ -0,0 +1,66 @@
--- tmt-1.24.1/tmt/steps/prepare/install.py.old 2023-06-22 11:57:06.633409186 +0200
+++ tmt-1.24.1/tmt/steps/prepare/install.py 2023-06-22 11:57:45.239501579 +0200
@@ -273,6 +273,7 @@ class InstallDnf(InstallBase):
package_manager = "dnf"
copr_plugin = "dnf-plugins-core"
+ skip_missing_option = "--skip-broken"
def prepare_command(self) -> Tuple[Command, Command]:
""" Prepare installation command """
@@ -290,7 +291,7 @@ class InstallDnf(InstallBase):
command += Command(self.package_manager)
if self.skip_missing:
- command += Command('--skip-broken')
+ options += Command(self.skip_missing_option)
return (command, options)
@@ -356,6 +357,14 @@ class InstallDnf(InstallBase):
self.guest.execute(command)
+class InstallDnf5(InstallDnf):
+ """ Install packages using dnf5 """
+
+ package_manager = "dnf5"
+ copr_plugin = "dnf5-plugins"
+ skip_missing_option = "--skip-unavailable"
+
+
class InstallYum(InstallDnf):
""" Install packages using yum """
@@ -592,6 +601,9 @@ class PrepareInstall(tmt.steps.prepare.P
elif guest.facts.package_manager == GuestPackageManager.DNF:
installer = InstallDnf(logger=logger, parent=self, guest=guest)
+ elif guest.facts.package_manager == GuestPackageManager.DNF5:
+ installer = InstallDnf5(logger=logger, parent=self, guest=guest)
+
elif guest.facts.package_manager == GuestPackageManager.YUM:
installer = InstallYum(logger=logger, parent=self, guest=guest)
--- tmt-1.24.1/tmt/steps/provision/__init__.py.old 2023-06-22 11:56:50.556370700 +0200
+++ tmt-1.24.1/tmt/steps/provision/__init__.py 2023-06-22 11:58:00.472538032 +0200
@@ -64,6 +64,7 @@ class CheckRsyncOutcome(enum.Enum):
class GuestPackageManager(enum.Enum):
DNF = 'dnf'
+ DNF5 = 'dnf5'
YUM = 'yum'
RPM_OSTREE = 'rpm-ostree'
@@ -274,8 +275,9 @@ class GuestFacts(tmt.utils.SerializableC
guest,
[
(Command('stat', '/run/ostree-booted'), GuestPackageManager.RPM_OSTREE),
- (Command('rpm', '-q', 'dnf'), GuestPackageManager.DNF),
- (Command('rpm', '-q', 'yum'), GuestPackageManager.YUM),
+ (Command('dnf5', '--version'), GuestPackageManager.DNF5),
+ (Command('dnf', '--version'), GuestPackageManager.DNF),
+ (Command('yum', '--version'), GuestPackageManager.YUM),
# And, one day, we'd follow up on this with...
# (Command('dpkg', '-l', 'apt'), 'apt')
])
+14 -3
View File
@@ -1,9 +1,20 @@
summary:
Upstream tests working under virtual machine
summary: Run a basic set of upstream tests
discover:
how: fmf
url: https://github.com/teemtee/tmt
ref: fedora
filter: "tag:virtual & tier:0,1"
filter: "tier:1"
prepare+:
- how: install
package:
- jq
- python3-pip
- how: shell
script:
- pip3 install --user yq || pip3 install yq
- yq --help
execute:
how: tmt
+5
View File
@@ -0,0 +1,5 @@
---
addedfiles:
ignore:
# rpminspect forbids /var/tmp prefix by default
- /var/tmp/tmt
+1 -1
View File
@@ -1 +1 @@
SHA512 (tmt-1.26.1.tar.gz) = 352581ec5a1d67bfd91ca116d39a06fc7bb1fd4c15ced389a3c22b06de59379eb87b67cc148b2f6595e2283d1c0fb2ce47f42972eedea85ba4e10924f3fd0444
SHA512 (tmt-1.39.0.tar.gz) = 859707d9bb9378abd1fa266f215e204995c4d811f7ddff5dcc6e12a0ec0c511e01f91deac3a6284abb10aa12a8ef5a65c344265bb6169ec5ca929d9216fccbb8
+604 -219
View File
@@ -1,254 +1,644 @@
Name: tmt
Version: 1.26.1
Release: 1%{?dist}
Name: tmt
Version: 1.39.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}
BuildArch: noarch
BuildRequires: python3-devel
Requires: git-core rsync sshpass
%if 0%{?fedora} < 40
Obsoletes: python3-tmt < %{version}-%{release}
Provides: tmt-report-html == %{version}-%{release}
Obsoletes: tmt-report-html < %{version}-%{release}
Provides: tmt-report-junit == %{version}-%{release}
Obsoletes: tmt-report-junit < %{version}-%{release}
Provides: tmt-report-polarion == %{version}-%{release}
Obsoletes: tmt-report-polarion < %{version}-%{release}
Provides: tmt-report-reportportal == %{version}-%{release}
Obsoletes: tmt-report-reportportal < %{version}-%{release}
%endif
URL: https://github.com/teemtee/tmt
Source0: https://github.com/teemtee/tmt/releases/download/%{version}/tmt-%{version}.tar.gz
Recommends: bash-completion
%define workdir_root /var/tmp/tmt
%py_provides python3-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
%global _metapackage_description %{expand:
This is a metapackage bringing in extra dependencies for tmt.
It contains no code, just makes sure the dependencies are installed.}
%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
%pyproject_extras_subpkg -n tmt link-jira
%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
# 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
%package -n tmt+test-convert
Summary: Dependencies required for tmt test import and export
Provides: tmt-test-convert == %{version}-%{release}
%if 0%{?fedora} < 40
Obsoletes: tmt-test-convert < %{version}-%{release}
%endif
# Required for tests
BuildRequires: rsync
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}
Requires: tmt == %{version}-%{release}
Requires: make
Requires: python3-bugzilla
Requires: python3-nitrate
Requires: python3-html2text
Requires: python3-markdown
%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.
%description -n tmt+test-convert %_metapackage_description
%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)
%package -n tmt+provision-container
Summary: Dependencies required for tmt container provisioner
Provides: tmt-provision-container == %{version}-%{release}
%if 0%{?fedora} < 40
Obsoletes: tmt-provision-container < %{version}-%{release}
%endif
Requires: tmt == %{version}-%{release}
Requires: podman
Requires: (ansible or ansible-collection-containers-podman)
%description provision-container
Dependencies required to run tests in a container environment.
%description -n tmt+provision-container %_metapackage_description
%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
Provides: tmt-provision-virtual == %{version}-%{release}
%if 0%{?fedora} < 40
Obsoletes: tmt-provision-virtual < %{version}-%{release}
%endif
Requires: tmt == %{version}-%{release}
Requires: python3-testcloud >= 0.11.3
Requires: libvirt-daemon-config-network
Requires: openssh-clients
Requires: (ansible or ansible-core)
# Recommend qemu system emulators for supported arches
Recommends: qemu-kvm-core
%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
%description -n tmt+provision-virtual %_metapackage_description
%package -n tmt+provision-bootc
Summary: Dependencies required for tmt bootc machine provisioner
Provides: tmt-provision-bootc == %{version}-%{release}
Requires: tmt == %{version}-%{release}
Requires: tmt+provision-virtual == %{version}-%{release}
Requires: podman
Recommends: podman-machine
%description -n tmt+provision-bootc %_metapackage_description
%package -n tmt+provision-beaker
Summary: Dependencies required for tmt beaker provisioner
Provides: tmt-provision-beaker == %{version}-%{release}
%if 0%{?fedora} < 40
Obsoletes: tmt-provision-beaker < %{version}-%{release}
%endif
Requires: tmt == %{version}-%{release}
Requires: python3-mrack-beaker
%if 0%{?rhel} >= 9 || 0%{?fedora}
%description provision-beaker
Dependencies required to run tests in a Beaker environment.
%description -n tmt+provision-beaker %_metapackage_description
# 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}
%if 0%{?fedora} < 40
Obsoletes: tmt-all < %{version}-%{release}
%endif
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 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
%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 -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
%{_bindir}/tmt
%{_mandir}/man1/tmt.1.gz
%{_datadir}/bash-completion/completions/%{name}
%files -n python%{python3_pkgversion}-%{name}
%{python3_sitelib}/%{name}/
%{python3_sitelib}/%{name}-*.egg-info/
%license LICENSE
%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.*
%files -n tmt+provision-container -f %{_pyproject_ghost_distinfo}
%files -n tmt+provision-virtual -f %{_pyproject_ghost_distinfo}
%files -n tmt+provision-bootc -f %{_pyproject_ghost_distinfo}
%files -n tmt+test-convert -f %{_pyproject_ghost_distinfo}
%files -n tmt+provision-beaker -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
%files -n tmt+all -f %{_pyproject_ghost_distinfo}
%changelog
* Fri Sep 01 2023 Lukáš Zachar <lzachar@redhat.com> - 1.26.1
* Fri Nov 22 2024 Packit <hello@packit.dev> - 1.39.0-1
- Update to version 1.39.0
* Fri Oct 25 2024 Packit <hello@packit.dev> - 1.38.0-1
- Update to version 1.38.0
* Wed Oct 02 2024 Packit <hello@packit.dev> - 1.37.0-1
- Update to version 1.37.0
* Fri Sep 13 2024 Packit <hello@packit.dev> - 1.36.1-1
- Update to version 1.36.1
* Thu Sep 05 2024 Packit <hello@packit.dev> - 1.36.0-1
- Update to version 1.36.0
* Fri Aug 09 2024 Packit <hello@packit.dev> - 1.35.0-1
- Update to version 1.35.0
* Mon Jun 17 2024 Martin Hoyer <mhoyer@redhat.com> - 1.34.0
- Fix normalization of `hardware` key/option (#3015)
- Keep patched sources directly in TMT_SOURCE_DIR (#2999)
- Copy launch description to suite description (#2992)
- Add support for multiple disks to testcloud plugin (#2767)
- Improve rendering of story links in our docs (#3001)
- Simplify parsing of HW requirements and add missing ones (#2928)
- Make test shell wrapper filename even more unique (#2998)
- Add support for basic rerun of tests (#2521)
- Split provision/virtual plans to subgroups per step (#2938)
- Document custom container images built for tmt tests (#2930)
- Require python3.9 in 'develop' target
- Fix multiple rules `adjust` example in `duration` spec (#2971)
- Fix "skip missing" behavior when installig debuginfo packages with dnf (#2956)
- Extend results schema to allow test phases (#2933)
- Fix path to watchdog log (#2901)
- Display locals in traceback when requested (#2900)
- Polish test-check/dmesg documentation (#2897)
- docs: tweak docs to include how to see details about test failures (#2541)
- Allow multiplication in duration input value (#2845)
- Fix validation of fmf id URL, it must be cloneable first (#2957)
- Cover `tmt.trying` with `pyright` check (#2942)
- Clarify the `trigger` context dimension values (#2961)
- Add konflux as possible initiator (#2947)
- Fix some invalid links in documentation (#2940)
- Define "block-device" key for guest topology HW exposition
- Cover tmt.steps.prepare.shell with pyright checks
- Ignore report files created by pytest-html
- Fix pre-commit typing python version (#2959)
- Cover tmt.steps.prepare.distgit with pyright
- Pass correct spec to _parse_system and _parse_location (#2924)
- Support `cpu.model-name` hardware requirement for mrack (#2921)
- Enforce "one blank line after class docstring" rule (#2934)
- Enable pydocstyle checks in ruff (#2906)
- Update distros in the `mrack` provisioning config (#2932)
- Drop duplicate list of supported HW requirements in beaker plugin (#2902)
- Update interaction with Fedora rawhide (#2931)
- Run the `no-commit-to-branch` check only locally
* Tue May 07 2024 Tomáš Bajer <tbajer@redhat.com> - 1.33.0
- Fix installation of packages from files (#2914)
- Simplify the documentation building (#2483)
- Install dependencies of upgrade tasks
- Improve fail message when library doesn't exist
- Parse the `system` hardware requirement (#2795)
- Define `location.lab-controller` hardware requirement (#2794)
- Test restart on crash (#2870)
- Add `codespell` pre-commit and fix revealed errors
- Add test restart counter, similar to `TMT_REBOOT_COUNT`
- Fix error message if no supported package manager found
- Fix copy/paste issue for `combine_hw_disk_size()`
- Slightly improve rendering of ReST for command like
- Allow `duration` in the `execute` schema
- Log hash of the beakerlib library repo
- Fix inability of rpm-ostree to install multiple packages (#2887)
- Fix Alpine Linux support (#2828)
- Allow custom failure patterns in `dmesg` test check
- Make `junit_xml` more visible to linters
- Add support for `virtualization.hypervisor` hardware requirement (#2733)
- Add a new section `Review` to contributor docs
- Accept SSH options from environment variable (#2783)
- Fix AVC denial detection on Fedora rawhide (#2881)
- Reuse "become" image to fix sudo-related trouble in /tests/provision/user (#2892)
- Polish prepare/ansible documentation
- Support `cpu.cores` hardware requirement for mrack (#2728)
- Allow pip install from git-archive
- Add the `cpu.vendor` hardware requirement
- Fix incorrect translation of `cpu.processors` to Beaker
- Document custom Jinja template filters (#2769)
- Update logger-name for clean
* Fri Apr 19 2024 Lukáš Zachar <lzachar@redhat.com> - 1.32.2
- Remove /var/tmp workdir from rpm packaging
- Refactor package manager discovery to allow priorities
- Add unit test for package manager installing a file system path
- Update pre-commit checks and add a couple of new ones
- Removing c9s workaround for pytest-container
- Clarify the `--last` symlink creation race a bit
- Remove the `.travis.yml` config file
- Correctly show the `--provision-timeout` default
- Refresh Beaker API client in mrack to use up-to-date Kerberos ticket
* Thu Mar 28 2024 Martin Hoyer <mhoyer@redhat.com> - 1.32.1
- rpm .spec file version bump
- Update pytest on c9s when using site-packages
* Wed Mar 27 2024 Martin Hoyer <mhoyer@redhat.com> - 1.32.0
- Support Alpine Linux `apk` package manager
- Update the `reportportal` plugin
- Allow `keep-git-metadata` to be used without url
- Use `TMT_REPORT_ARTIFACTS_URL` in Polarion report plugin
- Prepare dist-git sources using `rpmbuild -bp`
- Add support for `zcrypt` to Beaker plugin
- Introduce ansible-lint to format ansible files
- Add support for linking artifacts from the report
- Document test tags and mark beakerlib integration
- Clarify that plan context is not applied to plan
- Increase the default test `duration` a bit
- Update pre-commit checks
- Fix typos in the `tmt try` help message examples
- Add new environment variable for test iteration identifier
- Select no tests if `modified-only` returns nothing (#2761)
- Debug output for `discover -h fmf --modified-only`
- Finish unit testing of HW transformations in mrack plugin
- Run `/plans/install/docs` in core `packit` jobs
- Extract "package manager" functionality into plugins (#2557)
- Allow commands whose output is not logged unless they fail
- Move `/tests/run/shell` to `/plans/provision/local`
- Include a simple config for the `polarion` plugin
- Cover `report/junit` with `pyright`
- Implement the new test check `watchdog`
- Support `disk.driver` hw requirement for `mrack`
- Cover `tmt.hardware` with `pyright` check
- Bootstrap unit tests for Beaker XML transformation of HW requirements
- Add support for emulated TPM into virtual provision plugin
- Set default formatting of Pint units to use symbols, not names (#2736)
- Disable IPv6 for /plans/provision/virtual in CI
- Add support for `disk.driver` hardware requirement
- Remove now unnecessary `NON_KVM_ADDITIONAL_WAIT` from testcloud
- Support `disk.model-name` hw requirement for `mrack`
- Include `context` in the test `metadata.yaml` file
- Pass `domain_configuration` to testcloud's `wake()`
- Document how to enable verbose/debug logging
- Disable password authentication when using keys
- Fix /plans/provision/virtual to set correct PROVISION_* variable
- Log the beaker job whiteboard
- /usr/sbin/sestatus instead of /usr/bin/sestatus (#2720)
- Set acl permissions on the `workdir` root
- Extend the `duration` for time-demanding tests
- Add support for `disk.model-name` hardware requirement
- Move deferred user stories into a separate section
- Mark test check tests with more fitting provision tags
- Add `Environment` and `FmfContext` among loggable types
- Bump supported Artemis API versions to 0.0.69
- "Show default" flag was dropped from CLI option initialization
- Convert environment handling into a dict-like class (#2612)
- Enable `additional_coverage` tests for pull requests (#2700)
- Add essential requirements to checks
- Remove mention about the full test suite from docs
- Use the `PROVISION_HOW` variable in `provision` plans (#2688)
- Properly detect if test is enabled somewhere
- Check for files in `rpm-ostree install` script
- Collect test/test check results in test invocation (#2608)
- Test the `become` key under `virtual` provision
- Introduce "topology" addresses for guests (#2670)
- Make checks smarter about environments in which they should not run (#2686)
- Cover report/display and report/html with pyright (#2682)
- Cover `tmt.templates` with `pyright`
- Allow custom boot/connect timeouts for testcloud VMs
- Underline `try` menu keys
- Drop two no longer used methods from prepare step
- Enable the full test execution using a label (#2683)
- Support URL as post-install-script for Artemis plugin
- Fix dmesg check test for recent Fedoras
* Tue Feb 06 2024 Michal Hlavinka <mhlavink@redhat.com> - 1.31.0
- Simple ReST renderer for CLI help texts (#2574)
- Generate plugin documentation from their sources (#2549)
- Fix environment from command line updated twice (#2614)
- Introduce a new prepare plugin for common features (#2198)
- Remove `xfail` for the `multidict` issue on `rawhide`
- Prevent catching avc denials from previous tests
- Remove an obsolete workaround for `centos-stream-8`
- Enable the `/tests/discover/libraries` test (#2222)
- Add documentation on tmt & regular expressions
- Fix expansion of envvar starting with `@` in fmf nodes
- Add the `zcrypt` adapter specification
- Allow urllib3 2.x
- Enable `/plans/provision/virtual` for pull requests (#2558)
- Remove the dns failures workaround
- Fix reporting of schema errors without the `$id` key
- AVC check now saves a timestamp on guest instead of using runner's time
- Add check to prevent `tmt try` deleting imported libraries
- Reduce usage of locks in the `testcloud` plugin
- Add support for envvars import and export to Polarion
- Use enumeration to implement action handling
- Handle the `ctrl-d` shortcut in `tmt try`
- Run tests with `interactive` mode during `tmt try`
- Fix `tmt import --dry` and Polarion import file name
- Document that `name` is supported in `--filter` search (#2637)
- Refactor running of interactive commands (#2554)
- Create container images from the latest non-dev copr build
- Fail `dmesg` check if it contains `Call Trace` or `segfault`
- Mention the reboot timeout variable in the release notes
- Bump the default reboot timeout to 10 minutes
- Allow change of the default reboot timeout via environment variable
- Introduce essential requirements
- Allow `--update-missing` to change the default `how` value
- Document the new `become` feature
- Raise an error when loading pre-1.24 `tests.yaml`
- Support terminating process running test via its test invocation (#2589)
- Fix `egrep` warning in `/plans/install/docs`
- Test framework may provide additional test requirements
- Improve logging of AVC check plugin and its test
- Cleanup logging in `tmt.utils.create_file()`
- Drop connection closed messages from test output
- Recommend `qemu-kvm-core` for `provision-virtual`
- Fix `/tests/plan/import` to not use special ref (#2627)
- Improve imported plan modification test to verify the order as well (#2618)
- Retry the `git clone` action multiple times
- Simplify the debuginfo installation test
- Support `virtualization.is-virtualized` in `mrack` plugin
- Support running all or selected steps `--again`
- Allow hardware requirements limit acceptable operators
- Fix inheritance of some keys in provision step data
- Run a callback when command process starts
- Add support for hard reboot to Beaker provision plugin
- Make collected requires/recommends guest-aware
- Copy top level `main.fmf` during testdir pruning
- Add support for Artemis API v0.0.67
- Add support for `cpu.flag` hardware requirement
- Use a different pidfile location for the full test
- Clear test invocation data path use and derived paths
- Add support for disallowing plugins via command line
- Use constraint classes specific for particular value type
- Making rhts metric value optional.
- Ignore tarballs and generated man page
- Cover `tmt.libraries` with `pyright` checks
- Parallelize the `provision` step
- Let `click` know about the maximal output width
- Cover `tmt.identifier` with `pyright` checks
- Extend `duration` of `/tests/core/escaping` a bit
- Move docs templates into their own directory
- Drop no longer needed `tmt.utils.copytree()`
- Drop no longer used `tmt.utils.listify()`
- Provision plugins use `self.data` instead of `self.get()`
- Prepare and finish plugins use self.data instead of self.get()
- Fix tmt.utils.format to allow int and float values
- Move code-related pages under new `code` directory
- Warn on test case not found in Polarion during report
- Bump pre-commit linters
- When cloning a logger, give it its own copy of labels
- Add a `Toolbelt Catalog` entry for `tmt`
- Enable the `avc` check for all `tmt` tests
- Fix dmesg check test on Fedora rawhide & newer
* Fri Dec 08 2023 Petr Šplíchal <psplicha@redhat.com> - 1.30.0
- Make `arch` field unsupported in the spec
- Introduce `tty` test attribute to control terminal environment
- Ensure the imported plan's `enabled` key is respected
- Add support for user defined templates (#2519)
- Update the common schema for the `check` key
- Create a `checks` directory to store avc/dmesg checks
- Correctly update environment from importing plan
- Implement `tmt try` for interactive sessions
- Use a shorter time for `podman stop` (#2480)
- Add the `redis` server as a multihost sync example
- Improve documentation of test checks
- Adjust the format of Polarion test run title
- Run all available tests only upon a user request
- Rename `name` to `how` in test check specification (#2527)
- Link `inheritance` and `elasticity` from the guide
- Add the `fips` field for the `polarion` report
- Cover `tmt.cli` with `pyright` (#2520)
- Custom soft/hard reboot commands for the connect provision plugin
- Add `--feeling-safe` for allowing possibly dangerous actions
- Update docs for the `polarion` report plugin
- Move test-requested reboot handling into test invocation class
- Add `-i` to select an image in beaker and artemis
- Document how to use `yaml` anchors and aliases
- Simplify log decolorizers to support pickleable trees
- Add description field to polarion report plugin
- Make check plugin class generic over check class (#2502)
- Increase verbosity of Artemis provisioning errors
- Add more distros to the `mrack` config
- Move the `contact` key to the `Core` class
- Bump tmt in lint pre-commit check to 1.29.0
- Add Python 3.12 to the test matrix
- Move `mrack` configs into `tmt+provision-beaker`
- Allow running upgrade from the current repository
- Fix remote nested library fetch and add test
- Cover tmt.options with pyright
- Cover tmt.checks, tmt.frameworks and tmt.log with pyright
- Cover tmt.result with pyright checks
- Store fmf `context` in results for each test
- Add networks to the podman provision plugin (#2419)
- Add a dedicated exit code when all tests reported `skip` result
- Move invocation-related fields out of `Test` class
- Remove expected fail from `/tests/pip/install/full`
- Convert test execution internals to use "invocation" bundle (#2469)
- Introduce a separate page `Code` for code docs
- Add code documentation generated from docstrings
- Fix possible unbound variable after import-under-try
- Add `pyright` as a `pre-commit` check
- Add a helper for nonconflicting, multihost-safe filenames
- Add the `whiteboard` option for `beaker` provision
- Support timestamped logging even on the terminal
- Enable pyupgrade `UP` ruff rule
- Fix `UP035` deprecated-import violations
- Fix `UP034` extraneous-parentheses violation
- Fix `UP033` lru-cache-with-maxsize-none violations
- Fix `UP032` f-string violations
- Fix `UP013` convert-typed-dict-functional-to-class
- Fix `UP009` utf8-encoding-declaration violations
- Fix `UP006` non-pep585-annotation violations
- Try several times to build the `become` container (#2467)
- Add .py file extension to docs scripts (#2476)
- Add a link to the Testing Farm documentation
- Use `renku` as the default theme for building docs
- Properly normalize the test `path` key
- Add an `adjust` example for enabling custom repo
- Drop special normalization methods
- Disable `dist-git-init` in the `distgit` test (#2463)
* 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 & colorful 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
@@ -279,11 +669,6 @@ install -pm 644 %{name}/steps/provision/mrack/mrack* %{buildroot}/etc/%{name}/
* Mon Jul 10 2023 Lukáš Zachar <lzachar@redhat.com> - 1.25.0
- Test for pruning needs VM
- Internal anonymous git:// access is deprecated
- Add tests and some modifications after rebases
- Clone to tmp and use fmf.Tree.find instead of looping
- Add clone_dirpath to Common
- Fix bad usage of path and name
- Fix multiple clones and inherited fmf metadata
- Beakerlibs pruning and merge
- Add dynamic ref evaluation support to plan import
- Replace self.opt() when looking for debug/verbose/quiet setting
@@ -603,7 +988,7 @@ install -pm 644 %{name}/steps/provision/mrack/mrack* %{buildroot}/etc/%{name}/
- 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
- Deleting unused and duplicite part of finish step
- Support absolute paths in HTML reports
- Capture exceptions when getting `image_url`
- Enable verbose output for `provision` & `prepare`
@@ -846,8 +1231,8 @@ install -pm 644 %{name}/steps/provision/mrack/mrack* %{buildroot}/etc/%{name}/
- 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
- Set the `1777` permission for `/var/tmp/tmt`
- Adjust the fix for the `rpm-ostree` installation
- Fix package installation using `rpm-ostree`
- Handle empty fmf file as an empty dictionary
- Fix distgit testsuite after tmt packaging change
@@ -1069,7 +1454,7 @@ install -pm 644 %{name}/steps/provision/mrack/mrack* %{buildroot}/etc/%{name}/
- Require beakerlib-1.28 for beakerlib tests
- Adjust the dist git source discover implementation
- Discover tmt tests from sources
- Reenable plans/install/docs
- Re-enable plans/install/docs
- Correct the `playbook` attribute in the spec (#948)
- Ansible plugin for Finish step
- Thread processing of executed commands inside tmt
@@ -1338,7 +1723,7 @@ install -pm 644 %{name}/steps/provision/mrack/mrack* %{buildroot}/etc/%{name}/
- Strip whitespace before relevancy comment
- Ensure rsync is installed on the guest if needed
- Use the default branch in the discover fmf plugin
- Suport the 'el' shortcut for the distro context
- Support the 'el' shortcut for the distro context
- Implement the 'tmt --version' option [fix #445]
- Adjust test create test, fix missing dots
- Support creating tests in the current directory
@@ -1648,7 +2033,7 @@ install -pm 644 %{name}/steps/provision/mrack/mrack* %{buildroot}/etc/%{name}/
- Add a story and examples describing manual tests
- Sync more extra-* attributes when exporting [#199]
- Enable checks for essential test attributes
- Handle require in Dicovery
- Handle require in Discovery
- Store imported metadata in a sane order [fix #86]
- Enable Python 3.8 in Travis, update classifiers
- Add missing 'require' attribute to the Test class
@@ -1659,7 +2044,7 @@ install -pm 644 %{name}/steps/provision/mrack/mrack* %{buildroot}/etc/%{name}/
- Merge improved import of tier from tags [#187]
- Adjust tier import from test case tags
- Merge tmt test export --nitrate --create [#185]
- Adjust suppport for creating new nitrate testcases
- Adjust support for creating new nitrate testcases
- Allow creation of nitrate cases when exporting
- Create tier attribute from multiple Tier tags
- Fix run.sh to work with RHEL/CentOS 7 as well
@@ -1918,7 +2303,7 @@ install -pm 644 %{name}/steps/provision/mrack/mrack* %{buildroot}/etc/%{name}/
- Enable bash completion feature
* Thu Oct 17 2019 Petr Šplíchal <psplicha@redhat.com> - 0.4-1
- Add tests for 'tmt init', allow overwritting
- Add tests for 'tmt init', allow overwriting
- Use plural commands to prevent confusion [fix #10]
- Add a link to Packit & Testing Farm documentation
- Add a simple develop section to the readme
@@ -1943,7 +2328,7 @@ install -pm 644 %{name}/steps/provision/mrack/mrack* %{buildroot}/etc/%{name}/
- Add a story for the mock shortcut [fix #5, fix #6]
- Add a story for core option --format
- Propose a dream for hands-free debugging
- Rename remaining testset occurences to plan
- Rename remaining testset occurrences to plan
- Implement 'tmt plan lint' with initial checks
* Thu Oct 10 2019 Petr Šplíchal <psplicha@redhat.com> - 0.3-1
@@ -1961,7 +2346,7 @@ install -pm 644 %{name}/steps/provision/mrack/mrack* %{buildroot}/etc/%{name}/
- Provide one-letter versions for select options
- Implement 'tmt run --all' to run all test steps
- Support command abbreviation, add related stories
- Add the Quick Start Guide story to documention
- Add the Quick Start Guide story to documentation
- Add coverage options to tmt story ls and show
- Initialize metadata tree only when accessed
- Remove show functionality from the 'run' command