Releases: teemtee/tmt
Releases · teemtee/tmt
1.32.0 Package managers; Hardware specifications improvements; Watchdog test check..
See the release notes for the list of interesting changes.
- Fix dmesg check test for recent Fedoras by @happz in #2674
- Support URL as post-install-script for
artemis
plugin by @skycastlelily in #2628 - Enable the full test execution using a label by @psss in #2683
- Drop two no longer used methods from prepare step by @happz in #2672
- Underline
try
menu keys by @lukaszachy in #2679 - Allow custom boot/connect timeouts for testcloud VMs by @happz in #2677
- Cover
tmt.templates
withpyright
by @happz in #2644 - Make checks smarter about environments in which they should not run by @happz in #2686
- Introduce "topology" addresses for guests by @happz in #2670
- Test the
become
key undervirtual
provision by @carlosrodfern in #2659 - Collect test/test check results in test invocation by @happz in #2608
- Check for files in
rpm-ostree install
script by @KwisatzHaderach in #2692 - Properly detect if test is enabled somewhere by @lukaszachy in #2662
- Use the
PROVISION_HOW
variable inprovision
plans by @psss in #2688 - Remove mention about the full test suite from docs by @psss in #2701
- Add essential requirements to checks by @happz in #2684
- Enable
additional_coverage
tests for pull requests by @psss in #2700 - Convert environment handling into a dict-like class by @happz in #2612
- "Show default" flag was dropped from CLI option initialization by @happz in #2710
- Bump supported Artemis API versions to 0.0.69 by @happz in #2711
- Add
Environment
andFmfContext
among loggable types by @happz in #2709 - Mark test check tests with more fitting provision tags by @happz in #2707
- Move deferred user stories into a separate section by @psss in #2715
- Add support for
disk.model-name
hardware requirement by @skycastlelily in #2708 - Extend the
duration
for time-demanding tests by @psss in #2718 - Set acl permissions on workdir root to ensure multi-user access when umask is
0027
by @carlosrodfern in #2510 - Use /usr/sbin/sestatus instead of /usr/bin/sestatus by @guoguojenna in #2720
- Log the beaker job whiteboard by @rh-mcermak in #2719
- Disable password authentication when using keys by @frantisekz in #2695
- Document how to enable verbose/debug logging by @psss in #2727
- Pass
domain_configuration
to testcloud'swake()
by @frantisekz in #2724 - Include
context
in the testmetadata.yaml
file by @LecrisUT in #2716 - Support
disk.model-name
hw requirement formrack
by @skycastlelily in #2705 - Remove now unnecessary
NON_KVM_ADDITIONAL_WAIT
from testcloud by @frantisekz in #2699 - Add support for
disk.driver
hardware requirement by @skycastlelily in #2667 - Disable IPv6 for
/plans/provision/virtual
in CI by @happz in #2735 - Set default formatting of Pint units to use symbols, not names by @happz in #2736
- Add support for emulated TPM into virtual provision plugin by @happz in #2596
- Bootstrap unit tests for Beaker XML transformation of HW requirements by @happz in #2734
- Cover
tmt.hardware
withpyright
check by @happz in #2742 - Support
disk.driver
hw requirement formrack
by @skycastlelily in #2668 - Implement the new test check
watchdog
by @happz in #2412 - Cover
report/junit
withpyright
by @happz in #2725 - Include a simple config for the
polarion
plugin by @psss in #2750 - Move
/tests/run/shell
to/plans/provision/local
by @psss in #2753 - Allow commands whose output is not logged unless they fail by @happz in #2751
- Extract "package manager" functionality into plugins by @happz in #2557
- Run
/plans/install/docs
in corepackit
jobs by @psss in #2747 - Finish unit testing of HW transformations in mrack plugin by @happz in #2748
- Debug output for
discover -h fmf --modified-only
by @lukaszachy in #2760 - Select no tests if
modified-only
returns nothing by @lukaszachy in #2761 - Add new environment variable for test iteration identifier by @therazix in #2726
- Fix typos in the
tmt try
help message examples by @psss in #2778 - Update pre-commit checks by @happz in #2776
- Increase the default test
duration
a bit by @psss in #2777 - Clarify that plan context is not applied to plan by @psss in #2779
- Document test tags and mark beakerlib integration by @lukaszachy in #2731
- Add support for linking artifacts from the report by @bajertom in #2732
- Introduce ansible-lint to format ansible files by @idorax in #2666
- Add support for
zcrypt
to Beaker plugin by @happz in #2697 - Prepare dist-git sources using
rpmbuild -bp
by @lukaszachy in #2641 - Use
TMT_REPORT_ARTIFACTS_URL
in Polarion report plugin by @KwisatzHaderach in #2785 - Allow
keep-git-metadata
to be used without url by @lukaszachy in #2698 - Update the
reportportal
plugin by @4N0body5 in #2702 - Support Alpine Linux
apk
package manager by @thrix in #2788
New Contributors
- @skycastlelily made their first contribution in #2628
- @rh-mcermak made their first contribution in #2719
- @LecrisUT made their first contribution in #2716
Full Changelog: 1.31.0...1.32.0
1.31.0 parallel provisioning, zcrypt, reboot timeout, reduced prepare requirements,...
See the release notes for the list of interesting changes.
- 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 themultidict
issue onrawhide
- 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 intmt try
- Run tests with
interactive
mode duringtmt 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 containsCall Trace
orsegfault
- 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 defaulthow
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
forprovision-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
inmrack
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
withpyright
checks - Parallelize the
provision
step - Let
click
know about the maximal output width - Cover
tmt.identifier
withpyright
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 ofself.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 fortmt
- Enable the
avc
check for alltmt
tests - Fix dmesg check test on Fedora rawhide & newer
tmt try, custom templates, container network...
See the release notes for the list of interesting changes.
- 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
tohow
in test check specification (#2527) - Link
inheritance
andelasticity
from the guide - Add the
fips
field for thepolarion
report - Cover
tmt.cli
withpyright
(#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 theCore
class - Bump tmt in lint pre-commit check to 1.29.0
- Add Python 3.12 to the test matrix
- Move
mrack
configs intotmt+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 apre-commit
check - Add a helper for nonconflicting, multihost-safe filenames
- Add the
whiteboard
option forbeaker
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 thedistgit
test (#2463)
Source plan environment; become; show `check` results; dist-git-download-only; test directory pruning
Highlights
- Add support for pruning test directories
- Download all sources for
dist-git-source
- Source plan environment variables after
prepare
andexecute
steps - Framework is not consulted on results provided by tmt-report-result
- Run scripts with
sudo
whenbecome
is on - Add hardware schema for GPU
- Add
device
key into thehardware
specification - Extend tmt-reboot to allow reboot from outside of the test process
- Show
check
results in thehtml
report - Update
where
implementation, docs & test coverage
Full Changelog
- 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
andexecute
steps - Framework is not consulted on results provided by tmt-report-result
- Run scripts with
sudo
whenbecome
is on - Add
retry
for pulling images in thepodman
plugin - Add hardware schema for GPU
- Change the default test pidfile directory to
/var/tmp
- Add
device
key into thehardware
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 intodocs/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 thehtml
report - Update
where
implementation, docs & test coverage - 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
- 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 usingfmf.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
Include man page in the pypi tarbal
- Build man page during the
release
action
Adjust spec file to fix packit integration
- Remove the
.dev0
suffix from the specVersion
New --update-missing option for steps, avc check, html report improvements...
Highlights
- New
--update-missing
option to update phase fields only when not set by fmf - Add
context
and link todata
into thehtml
report - Introduce
avc
denials check for tests - Add nice & colorfull help to
make
targets - Use
hatch
andpyproject
, refactortmt.spec
- Add
skip
as a supported custom result outcome - Handle all context dimension values case insensitive
Full Changelog
- Update the
release
action withhatch
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
fromtmt 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
propertystepping
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
andpyproject
, refactortmt.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 ofpprint()
- 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
withimportlib.resources
- Wrap
click.Choice
use withchoices
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
Insert, update steps from command line, link issues when creating tests, dynamic ref for libraries...
Highlights
- Allow inserting and updating steps from the command line
- Support linking relevant issues in
tmt test create
- Add dynamic ref support to library type dependency
- Make
tmt init
add.fmf
directory into git index - Add
--environment
support toplan show/export
- Bootstrap before/after test checks (#2210)
Full Changelog
- 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 tof-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
usingpip
- 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
andpython-3.6
specifics - Use the latest
sphinx-rtd-theme
for docs building - Full
pip install
expected to fail onRawhide
- 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
1.26.1
Hotfix containing single patch:
- Rewrite git url for discover fmf: modified-only
polarion template option; git clone credential and rewrite; rendering traceback
Highlights
- Allow injecting credentials for git clone
- Rewrite url in git_clone
- Add support for rendering error tracebacks
- ReST export plugin should accept --template option
- Add template option to polarion report
- Refine examples of plans > discover > fmf
Full Changelog
- 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
- 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
fromBuildRequires
- 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