Skip to content

Releases: teemtee/tmt

1.32.0 Package managers; Hardware specifications improvements; Watchdog test check..

27 Mar 15:41
1c647fb
Compare
Choose a tag to compare

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 with pyright 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 under virtual 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 in provision 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 and FmfContext 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's wake() by @frantisekz in #2724
  • Include context in the test metadata.yaml file by @LecrisUT in #2716
  • Support disk.model-name hw requirement for mrack 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 with pyright check by @happz in #2742
  • Support disk.driver hw requirement for mrack by @skycastlelily in #2668
  • Implement the new test check watchdog by @happz in #2412
  • Cover report/junit with pyright 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 core packit 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

Full Changelog: 1.31.0...1.32.0

1.31.0 parallel provisioning, zcrypt, reboot timeout, reduced prepare requirements,...

06 Feb 19:16
fdb16ba
Compare
Choose a tag to compare

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 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

tmt try, custom templates, container network...

11 Dec 20:17
Compare
Choose a tag to compare

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 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)

Source plan environment; become; show `check` results; dist-git-download-only; test directory pruning

06 Nov 19:51
Compare
Choose a tag to compare

Highlights

  • 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 hardware schema for GPU
  • Add device key into the hardware specification
  • Extend tmt-reboot to allow reboot from outside of the test process
  • Show check results in the html 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 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
  • 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 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

Include man page in the pypi tarbal

11 Oct 15:02
Compare
Choose a tag to compare
  • Build man page during the release action

Adjust spec file to fix packit integration

11 Oct 13:04
Compare
Choose a tag to compare
  • Remove the .dev0 suffix from the spec Version

New --update-missing option for steps, avc check, html report improvements...

10 Oct 21:05
Compare
Choose a tag to compare

Highlights

  • New --update-missing option to update phase fields only when not set by fmf
  • Add context and link to data into the html report
  • Introduce avc denials check for tests
  • Add nice & colorfull help to make targets
  • Use hatch and pyproject, refactor tmt.spec
  • Add skip as a supported custom result outcome
  • Handle all context dimension values case insensitive

Full Changelog

  • Update the release action with hatch changes
  • Fix the multihost web test to work with container
  • Add skip as a supported custom result outcome
  • Add docs for the new --update-missing option
  • Remove irrelevant mention of rhel-8 in the spec
  • Record start/end time & duration of test checks
  • Add --update-missing to update phase fields only when not set by fmf
  • Add --skip-prepare-verify-ssh and --post-install-script to artemis plugin (#2347)
  • Force tmt-link pre-commit to use fmf 1.3.0 which brings new features (#2376)
  • Add logging of applied adjust rules
  • Handle all context dimension values case insensitive
  • Hide OPTIONLESS_FIELDS from tmt plan show
  • Add context into the html report
  • Display test check results in display report output
  • Fix creation of guest data from plugin options
  • Allow wider output
  • Beaker plugin is negating Beaker operators by default
  • Include link to the data directory in the html report
  • Teach logging methods to handle common types
  • Move the copr repository to the teemtee group
  • Add a new cpu property stepping to hardware
  • Extract beakerlib phase name to a failure log
  • Always show the real beaker job id
  • Create a production copr build for each release
  • AVC denials check for tests (#2331)
  • Add nice & colorfull help to "make" targets
  • Include more dependencies in the dev environment
  • Stop using the _version.py file
  • Replace opt() for --dry/--force with properties
  • Update build names for copr/main and pull requests
  • Use hatch and pyproject, refactor tmt.spec
  • Use dataclass for log record details instead of typed dict
  • Refactor html report plugin to use existing template rendering
  • Narrow type of hardware constraint variants
  • Refactor parameters of Plan._iter_steps()
  • Use format_value() instead of pprint()
  • Use the minimal plan to test imported plan execution
  • Refactor exception rendering to use generators
  • Add the export callback for fields (#2288)
  • Update a verified-by link for the beaker provision
  • Multi-string help texts converted to multiline strings
  • Make the upload to PyPI working again
  • Hide command event debug logs behind a log topic (#2281)
  • Replace pkg_resources with importlib.resources
  • Wrap click.Choice use with choices parameter
  • Lower unnecessary verbosity of podman commands
  • Move check-related code into tmt.checks
  • Disable systemd-resolved to prevent dns failures
  • Adjust test coverage for deep beakerlib libraries
  • Document migration from provision.fmf to tmt (#2325)
  • Remove TBD of initiator context for Packit
  • Fix output indentation of imported plans
  • Copr repo with a group owner requires quotes

Insert, update steps from command line, link issues when creating tests, dynamic ref for libraries...

07 Sep 09:32
Compare
Choose a tag to compare

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 to plan 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 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

1.26.1

01 Sep 18:39
Compare
Choose a tag to compare

Hotfix containing single patch:

  • Rewrite git url for discover fmf: modified-only

polarion template option; git clone credential and rewrite; rendering traceback

31 Jul 19:21
Compare
Choose a tag to compare

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 from BuildRequires
  • Switch discover/fmf to our field() implementation
  • Lock the click version < 8.1.4
  • Refine examples of plans > discover > fmf
  • Override packit actions for propose_downstream