1 Commits

Author SHA1 Message Date
Packit fc56faa75b Update to 1.55.0 upstream release
Upstream tag: 1.55.0
Upstream commit: dd17b485

Commit authored by Packit automation (https://packit.dev/)
2025-08-18 15:47:17 +00:00
16 changed files with 206 additions and 2580 deletions
-1
View File
@@ -1 +0,0 @@
1
+1 -48
View File
@@ -1,48 +1 @@
/tmt-0.1.tar.gz
/tmt-0.7.tar.gz
/tmt-0.8.tar.gz
/tmt-0.11.tar.gz
/tmt-0.12.tar.gz
/tmt-0.17.tar.gz
/tmt-0.18.tar.gz
/tmt-0.19.tar.gz
/tmt-0.20.tar.gz
/tmt-0.21.tar.gz
/tmt-1.0.tar.gz
/tmt-1.1.tar.gz
/tmt-1.2.tar.gz
/tmt-1.2.1.tar.gz
/tmt-1.3.0.tar.gz
/tmt-1.3.1.tar.gz
/tmt-1.4.0.tar.gz
/tmt-1.5.0.tar.gz
/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
/tmt-1.21.0.tar.gz
/tmt-1.22.0.tar.gz
/tmt-1.23.0.tar.gz
/tmt-1.24.1.tar.gz
/tmt-1.25.0.tar.gz
/tmt-1.26.0.tar.gz
/tmt-1.26.1.tar.gz
/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.55.0.tar.gz
+157 -180
View File
@@ -1,8 +1,9 @@
---
specfile_path: tmt.spec
files_to_sync:
- tmt.spec
- .packit.yaml
sync_changelog: true
upstream_package_name: tmt
downstream_package_name: tmt
@@ -14,201 +15,177 @@ srpm_build_deps:
- hatch
- python3-hatch-vcs
actions: &base-actions
create-archive:
- hatch run docs:man
- hatch build -t sdist
- bash -c "echo dist/tmt-$PACKIT_PROJECT_VERSION.tar.gz"
get-current-version:
- hatch version
targets: &all-targets
- fedora-all
- epel-9
- epel-10
# Uncomment below line if OpenScanHub scans are failing
# osh_diff_scan_after_copr_build: false
# Common definitions
_:
# Copr jobs under the packit project
- &copr-under-packit
job: copr_build
additional_repos:
- copr://@teemtee/stable
# Copr jobs under the teemtee project
- &copr-under-teemtee
<<: *copr-under-packit
list_on_homepage: true
preserve_project: true
owner: "@teemtee"
# Test jobs base setup
- &test-base
job: tests
trigger: pull_request
tf_extra_params:
environments:
- &copr-teemtee-stable
artifacts:
# Testing Farm fails to install the repository when a multiline
# string is used. The script looks broken, as if one piece of
# the process incorrectly loads it, producing broken repo file
# URL.
- type: repository-file
# yamllint disable-line rule:line-length
id: https://copr.fedorainfracloud.org/coprs/g/teemtee/stable/repo/fedora-rawhide/group_teemtee-stable-fedora-rawhide.repo
- type: repository-file
# yamllint disable-line rule:line-length
id: https://copr.fedorainfracloud.org/coprs/g/teemtee/stable/repo/epel-9/group_teemtee-stable-epel-9.repo
# Latest fedora & epel targets
- &latest-targets
- fedora-latest-stable
- epel-10
# Internal jobs
- &internal
use_internal_tf: true
targets:
- fedora-latest-stable
tf_extra_params:
environments:
- &tmt-cloud-resources
<<: *copr-teemtee-stable
settings:
provisioning:
tags:
BusinessUnit: tmt
# Core test requires
- &require-core-tests
require:
label:
absent:
- ci | skip
# Full test requires
- &require-full-tests
require:
label:
present:
- ci | full test
absent:
- status | discuss
- ci | skip
jobs:
# Build released bits to stable
- <<: *copr-under-teemtee
trigger: release
project: stable
# Build pull requests
- job: copr_build
trigger: pull_request
targets:
- fedora-all
- epel-9
enable_net: False
actions:
create-archive:
- hatch run docs:man
- hatch build -t sdist
- bash -c "ls dist/tmt-*.tar.gz"
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 (core)
- job: tests
identifier: core
trigger: pull_request
targets:
- fedora-latest-stable
- epel-9
tf_extra_params:
test:
tmt:
name: /plans/features/(core|basic)
# Test pull requests (full)
# Do not run extended unit tests, that plan gets its own job because
# of podman vs systemd-resolved flakiness.
- job: tests
identifier: full
trigger: pull_request
targets:
- fedora-all
- epel-9
require:
label:
present:
- full test
absent:
- discuss
tf_extra_params:
test:
tmt:
name: '^(?!/plans/features/extended-unit-tests).*$'
- job: tests
identifier: extended-unit-tests
trigger: pull_request
targets:
- fedora-latest-stable
require:
label:
present:
- full test
absent:
- discuss
tf_extra_params:
test:
tmt:
name: '/plans/features/extended-unit-tests$'
# Test pull requests (provision)
- job: tests
identifier: provision
trigger: pull_request
use_internal_tf: True
targets:
- fedora-latest-stable
tf_extra_params:
test:
tmt:
name: /plans/provision/virtual
environments:
- tmt:
context:
how: provision
require:
label:
present:
- full test
absent:
- discuss
# Test internal plugins
- job: tests
trigger: pull_request
identifier: "internal-plugins"
targets:
- fedora-latest-stable
use_internal_tf: True
fmf_url: "https://gitlab.cee.redhat.com/baseos-qe/tmt.git"
# Tag cloud resources for tmt
tf_extra_params:
environments:
- settings:
provisioning:
tags:
BusinessUnit: tmt
require:
label:
present:
- full test
absent:
- discuss
# Test internal wow
- job: tests
trigger: pull_request
identifier: "internal-wow"
targets:
- fedora-latest-stable
use_internal_tf: True
fmf_url: "https://gitlab.cee.redhat.com/baseos-qe/integration_scripts.git"
tmt_plan: "/tmt/integration/plan"
tf_extra_params:
environments:
- settings:
provisioning:
tags:
BusinessUnit: tmt
require:
label:
present:
- full test
absent:
- discuss
# Build commits to main
- job: copr_build
# Build commits merged to main to latest
- <<: *copr-under-teemtee
trigger: commit
branch: main
targets:
- fedora-all
- epel-9
enable_net: False
list_on_homepage: True
preserve_project: True
owner: "@teemtee"
project: tmt
project: latest
release_suffix: "{PACKIT_PROJECT_BRANCH}"
actions:
create-archive:
- hatch run docs:man
- hatch build -t sdist
- bash -c "ls dist/tmt-*.tar.gz"
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
- job: copr_build
trigger: release
# Build pull requests
- <<: *copr-under-packit
trigger: pull_request
# Test core
- <<: *test-base
<<: *require-core-tests
targets: *latest-targets
identifier: core
tmt_plan: '/plans/features/(core|basic)'
# Test full
- <<: *test-base
<<: *require-full-tests
identifier: full
# Do not run extended unit tests. That plan gets its own job
# because of podman vs systemd-resolved flakiness.
tmt_plan: '^(?!/plans/features/extended-unit-tests).*$'
# Extended unit tests
- <<: *test-base
<<: *require-full-tests
targets:
- fedora-all
- epel-9
enable_net: False
list_on_homepage: True
preserve_project: True
owner: "@teemtee"
project: tmt
actions:
create-archive:
- hatch run docs:man
- hatch build -t sdist
- bash -c "ls dist/tmt-*.tar.gz"
get-current-version:
- hatch version
- fedora-latest-stable
identifier: extended-unit-tests
tmt_plan: '/plans/features/extended-unit-tests$'
# Fedora releases
# Test virtual & bootc provision plugins
- <<: *test-base
<<: *internal
<<: *require-full-tests
identifier: provision
tmt_plan: '/plans/provision/(bootc|virtual)'
tf_extra_params:
environments:
- tmt:
context:
how: provision
<<: *tmt-cloud-resources
# Test internal plugins
- <<: *test-base
<<: *internal
<<: *require-full-tests
identifier: internal-plugins
fmf_url: "https://gitlab.cee.redhat.com/baseos-qe/tmt.git"
# Test internal wow
- <<: *test-base
<<: *internal
<<: *require-full-tests
identifier: internal-wow
fmf_url: "https://gitlab.cee.redhat.com/baseos-qe/integration_scripts.git"
tmt_plan: '/tmt/integration/plan'
# Propose downstream pull requests
- job: propose_downstream
trigger: release
dist_git_branches:
- fedora-all
- epel-9
dist_git_branches: *all-targets
# Create koji builds
- job: koji_build
trigger: commit
allowed_pr_authors: ["packit", "psss", "lzachar"]
allowed_committers: ["packit", "psss", "lzachar"]
dist_git_branches:
- fedora-all
- epel-9
allowed_pr_authors: ["packit", "all_committers"]
dist_git_branches: *all-targets
# Create bodhi updates
- job: bodhi_update
trigger: commit
dist_git_branches:
- fedora-branched
- epel-9
- epel-10
+1 -3
View File
@@ -1,5 +1,3 @@
# tmt
Test Management Tool
* https://tmt.readthedocs.io/
The tmt package
+1 -1
View File
@@ -1,3 +1,3 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 0.96.0.post1.dev4+gc5b1ea8e.
The file was generated using packit 1.11.0.post1.dev3+g351a3979f.
-1
View File
@@ -1 +0,0 @@
resultsdb-testcase: separate
-66
View File
@@ -1,66 +0,0 @@
--- 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')
])
-66
View File
@@ -1,66 +0,0 @@
--- 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')
])
-10
View File
@@ -1,10 +0,0 @@
--- !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}
-12
View File
@@ -1,12 +0,0 @@
summary: Verify that the minimal package works
discover:
tests:
- name: /install/minimal
test: cd $(mktemp -d) && tmt init -t full && tmt
prepare:
summary: Ensure that only 'tmt' is installed
name: minimal
order: 90
script: dnf remove -y 'tmt-*' --exclude tmt
execute:
how: tmt
-3
View File
@@ -1,3 +0,0 @@
summary: Minimal smoke test
execute:
script: tmt --help
-20
View File
@@ -1,20 +0,0 @@
summary: Run a basic set of upstream tests
discover:
how: fmf
url: https://github.com/teemtee/tmt
ref: fedora
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
@@ -1,5 +0,0 @@
---
addedfiles:
ignore:
# rpminspect forbids /var/tmp prefix by default
- /var/tmp/tmt
+1 -1
View File
@@ -1 +1 @@
SHA512 (tmt-1.33.0.tar.gz) = 9a39e5f5d6aae26f3a793f8f0f5a95a3a1f323135a31babf8772d5011cc94ffda662c4b7ed3ad7fe6397452d896004051f7f8f57518cfe3c96083c10b9d97af7
SHA512 (tmt-1.55.0.tar.gz) = 410fffae1d2c6f1d2b0e013afd8f0a2166a43b0d7b119e4599d6db7e07fbdcabcbdb10d55478757352af28be3f56f1897572baf2c2263e47b75a6256254a22be
-5
View File
@@ -1,5 +0,0 @@
# The detach runner is intentionally not executable
addFilter("python3-tmt.noarch: E: non-executable-script")
# Examples have .fmf used to mark metadata root
addFilter("tmt.noarch: W: hidden-file-or-dir")
+45 -2158
View File
File diff suppressed because it is too large Load Diff