Releases: teemtee/tmt
Releases · teemtee/tmt
Beakerlib pruning and merge; dynamic ref evaluation support to plan import; Reimplement the `ReportPortal` plugin
Highlights
- Beakerlibs pruning and merge
- Add dynamic ref evaluation support to plan import
- Reimplement the
ReportPortal
plugin using API - Recommend needs a different option for
dnf5
Full Changelog
- 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
- Reimplement the
ReportPortal
plugin using API - Make
Step
class own export of step data (#2040) - Make relevancy/coverage linters to not re-read fmf files
- Add a single
tmpdir
fixture for all Python versions - Replace named tuples with data classes
- Replace
/
in safe name, and fix prepare step to use safe names - Do not export fmf id's ref when it's the default branch
- Move the sync libraries into a separate section
- Allow running next plan in queue when one fails to complete
- Fix a too strict check for the detected library
- Convert provision plugins' step data to our field implementation
- Convert execute plugins to
tmt.utils.field()
for options - Cache that beakerlib/library repo is missing
- Use code-block directive for examples and code blocks
- Add the
show()
method for guest data packages - Turn fmf context into a fancy dict
- Enable ruff checks for mutable dataclass field defaults
- Create option metavar from listed choices
- Document how to modify imported plans
- Recommend needs a different option for
dnf5
- Ask ruff to show what it fixed
- Bumps supported Artemis API to 0.0.58
- Use
--version
to gather the package_manager fact - Use f-strings where possible
- Bump pre-commit hooks to latest version
- Fix ruff RUF010: Use f-strings conversion flags
- Fix py<38 mypy type:ignore being on wrong line
- Move isort to ruff
- Enable passing Pylint checks
- Fix ruff RSE102: Unnecessary parentheses on exception
- Fix ruff PIE: flake8-pie errors
- Remove duplicates from ruff rules selection
- Fix ruff SIM: flake8-simplify errors
- Fix ruff RET: flake8-return errors
- Fix ruff PT: flake8-pytest-style errors
- Fix ruff UP: pyupgrade errors
- Fix ruff N: pep8-naming errors
- Fix ruff RUF005: collection-literal-concatenation
- Fix ruff B: flake8-bugbear errors
- Fix flake8 C405: unnecessary literal set
- Fix flake8 C401: unnecessary generator set
- Fix flake8 C416: unnecessary comprehension
- Fix flake8 C408: unnecessary collection calls
- Polarion report set to UTC timezone
- Add
Organize Data
as a new tmt guide chapter - Fix emptiness check of /var/tmp/tmt in /tests/status/base
- Allow modification of imported plans
- Raise error if malformed test metadata is given
- Ensure test with empty custom results ends as an ERROR
- Fix /tests/status/base when /var/tmp/tmt is empty
- Remove
pytest.ini
from theMakefile
targets - Bad source path for local libraries file require
- Remove useless loop.cycle() from the HTML report
- Implement basic filtering for the HTML report
- Cleanup of "logging function" types
- Do not patch verbosity in discover for --fmf-id
- Drop enum from HW hypervisor and boot method constraints
- Fix enforcement of workdir root in full workdir root test
- Narrow type of file & library dependencies
- Make web-link test play nicely with custom SSH host config
- Use serialization callbacks for last script fields
- Save click context in click context object
- Add the
envvar
argument toutils.field()
- Improve structure of the packit config a bit
- Update release instructions with simplified steps
- Sync changelog when creating downstream release
Parallel execution, guest topology, lint docs...
Highlights
- Parallelize
prepare
,execute
andfinish
steps - Expose guest topology to tests and scripts
- Support environment variables for plugin options
- Improve documentation of lint checks
Full Changelog
- Revert the
Source0
url to the original value - Use correct url for the release archive, fix docs
- Do not display guest facts when showing a plan
- Add new guide/summary for multihost testing
- Define a "plugin registry" class
- Hide
facts
in thevirtual
provision plugin - Cache resolved linters
- Improve documentation of lint checks (#2089)
- A custom wrapper for options instead of click.option()
- Identify incorrect subcommand after a correct one
- Remove one extra space between @ and decorator name
- Assign envvars to Polarion report arguments
- Expose "key address" to normalization callbacks (#1869)
- Move export of special test/plan/story fields to their respective classes
- Expose guest topology to tests and scripts (#2072)
- Enable building downstream release using Packit
- Add sections for environment variable groups
- Add default envvar to plugin options
- Load env TMT_WORKDIR_ROOT when running tmt status (#2087)
- Opportunistically use "selectable" entry_points.
- Explicitly convert tmpdir to str in test_utils.py.
- Move pytest.ini contents to pyproject.toml.
- Rename Require* classes to Dependency* (#2099)
- Expose fmf ID of tests in results
- Use the
tmt-lint
pre-commit hook - Turn finish step implementation to queue-based one (#2110)
- Convert base classes to data classes (#2080)
- Crashed prepare and execute steps propagate all causes
- Support exceptions with multiple causes
- Make "needs sudo" a guest fact (#2096)
- Test data path must use safe guest/test names
- Support for multi case import from Polarion and Polarion as only source (#2084)
- Fix search function in docs
- Make tmt test wrapper name unique to avoid race conditions
- Change link-polarion argument default to false
- Add export plugin for JSON (#2058)
- Handle el6 as a legacy os too in virtual provision
- Hint beakerlib is old when result parsing fails
- Revert "Fix dry mode handling when running a remote plan"
- Set a new dict instance to the Plan class
- Replaces "common" object with logger in method hint logging
- Parallelize prepare and execute steps
- Formalizing guest "facts" storage
- Support urllib3 2.x and its allowed_methods/method_whitelist
- Require setuptools
Support for require of files and directories, refactored linting, log timestamps, extended hardware spec....
Highlights
- Add support for require of files and directories
- Refactored metadata linting (demo)
- Add test start/end timestamps into results
- Convert gitlab private namespace into dist-git url
- Shorter Nitrate summary name
- Add a new cpu property
flag
to the hardware spec - Fix duplicate export for Polarion hyperlinks
- Don't use specific addresses in virtual provision
- Support for fuzzy matching subcommand
- Support logging "topics" to allow lower unnecessary verbosity
Full Changelog
- Add
Artemis
to theprovision
documentation - Add artemis's user defined watchdog specification
- Add support for require of files and directories
- Expose test serial number as an environment variable
- Print only failed objects when linting in hook
- Refactored metadata linting
- Request newer os image and python version for docs
- Explore all available plugins only once
- Add test start/end timestamps into results
- Implement
deprecated
for obsoleted options - Unify results examples in test and plan specification
- Convert gitlab private namespace into dist-git url
- Shorter Nitrate summary name
- Correct the path of Ansible playbook
- Refactor logging during plugin discovery, using tmt's logging
- Improve names and docs around CLI context in Common classes
- Fix ruamel.yaml type waivers that mypy sometimes ignores
- Drop some no longer valid TODO comments
- Replace '--t' by '-t' when creating a new plan with template
- Add a new cpu property
flag
to the hardware spec - Fix duplicate export for Polarion hyperlinks
- Option to list locally cached images for testcloud
- Log out testcloud version in virtual provision
- Use yq instead of grep when testing YAML content
- Don't use specific addresses in virtual provision
- Polish workdir pruning - pathlib transition & logging
- Support for fuzzy matching subcommand
- Add new link relation
test-script
definition - Remove
group
from themultihost
specification - Move "show exception" code to utils
- Add missing support for 0.0.55 and 0.0.48 API
- Add type annotations to tmt.steps.STEPS/ACTIONS
- Support logging "topics" to allow lower unnecessary verbosity
- Add support for right-padding of logging labels
- Move tools config to
pyproject.toml
, add Ruff - Example to parametrize test selection via envars
- Merge run_command() and _run_command() into Command.run()
- Install beakerlib into images used in test/full
- Don't run
ShellCheck
on tests & decrease severity - Support multiline strings for option help texts
- Fix tests run only in full testsuite
Beaker provision plugin, more distros in testcloud, improved custom results...
Highlights
- New
beaker
provision usingmrack
allows to test on all arches from your laptop - The
testcloud
plugin is now working with fedora, centos, alma, rocky, oracle, debian and ubuntu - Improved custom results reporting (fixed logs, docs, now allows
results.json
as well) - New
kickstart
section added to theprovision
step specification - Variables
TMT_TEST_NAME
andTMT_TEST_METADATA
now available to tests
Full Changelog
- Change help text of the
tmt --root
option - Add support for
results.json
in custom results - Proper support for the test
duration
format - Prepend '/' to custom test result name if missing
- Document necessary packages for pip install on Ubuntu
- Tag cloud resources to
tmt
in Testing Farm - Display guest multihost name even in dry run (#1982)
- Pass the
arch
option to the Beaker provider - Use
job-id
instead ofguestname
in Beaker class - Adjust the fix for the default branch handling
- Add support to get
ref
under the git worktree - Fix dry mode handling when running a remote plan
- Enable the external
polarion
plugin tests - Extract "run a command" functionality into a stand-alone helper
- Increase minimal severity of
ShellCheck
defects - Display guest full name in
display
plugin report - Push using
sudo rsync
when necessary - Avoid warning from installing tmt as pre-commit
- Add test checking repeated test execution results
- Freeze the
yq
version to fixel8
installation - Update the
CODEOWNERS
file with more granularity - Document current workaround for running scripts
- Install
beakerlib
before theShellCheck
- Rename
Guest.full_name
toGuest.multihost_name
- Display guest full name in
html
plugin report - Add test for template-based export plugin
- Add
kickstart
to theartemis
provision plugin - Extract just tar files in dist-git-source
- Add missing fields to custom results test
- Add shell linter
Differential ShellCheck
- Always try to run dhclient in cloud-init in virtual provision
- Fix polarion report pruning and add or fix arguments
- Run
chcon
only if SELinux fs supported - Require
beaker
provision intmt-all
- Adjust the new
mrack
plugin spec, test and plan - Add
beaker
provision plugin usingmrack
- Adjust pip install to always upgrade to the latest
- Move
testcloud
url guessing logic out oftmt
- Hotfix Ubuntu with virtual provision
- Detect correct category when export to nitrate
- Add an entrypoint for interactive
tmt
sessions - Fix internal handling of the
where
key - Move logging labels to the beginning of lines
- Refactor CLI error reporting to improve readability
- Remove no longer needed cast around our custom Click context
- Display guest full name when showing its details
- Add
kickstart
section as a new specification key - Add more controls for output colorization
- Rephrase
results.yaml
documentation and examples - Fix
get_bootstrap_logger
name and docstring typo - Expose guest info in results
- Enable
root
login and disable defaultcore
for rhcos - Sanitize plan/test/story names before filtering
- Set default user
core
for rhcos in testcloud - Remove no longer used "err" parameter of logging methods
- testcloud: Raise default limits
- Update log key content of results.yaml examples (#1834)
- Include guest name in execute phase data paths
- Adds "bootstrap logger" for logging before CLI options are recognized (#1839)
- Export
TMT_TEST_NAME
andTMT_TEST_METADATA
(#1888) - List supported operators in hardware requirement docs (#1867)
- Build tmt usable in inner guests for tests/full
- Target test-complement for tests/full
- Tag tests which are affected by how=full
- Use PROVISION_METHODS in tests
- Report individual test results in tests/full
- Use Require* classes for collection & installation of plugin requirements (#1766)
- Disable tracebacks if default branch is not found
- Assign a data path and serial number to each test in discover (#1876)
- Convert log path for results:custom
- Allow report result for itself in results:custom
- Support to import Makefile having '\\n'
- Require
pylero
for thepolarion
subpackage - Fix forgotten guest when Artemis provisioning times out
- Turn
tests.yaml
into a list of tests - Simplify the
Result
class implementation - Use
Path
instead ofos.path
in export code - Use
Path
when working with logfile path - Fix use of old
os.path.symlink()
in discover/shell - Add /root/.local/bin to PATH on Centos Stream 8 in CI
- Install jq/yq for more readable tests in tmt test suite
- Fix Common class ignoring other branches of multiple inheritance tree
- Use Path instead of os.path in prepare/install plugin
- Convert path-like strings to
pathlib.Path
objects - Change
Plugin.go()
to accept logger and extra environment - Artemis API version may contain multiple integers
- Add logging
labels
used for prefixing messages - Adds "full name" guest property for multihost logging
Option to sync git repo for discover.shell; ReportPortal report plugin; web-url
Highlights
- Do not clone the whole remote plan in dry mode
- Include a simple Python code among the examples
- Enable to sync git repo to SUT in
shell
discover - Enable
url
andref
asshell
discover options - Respect
TMT_WORKDIR_ROOT
variable intestcloud
- Implement the
reportportal
report plugin - Add a clickable web link to test to polarion export
- Enhance
Links
to allow checking for any links at all
Whole change log
- Fix tmt-reboot without custom command
- Fix test /discover/libraries
- Add serialization callbacks to data class fields
- Use own private key for
provision.virtual
- Adds a template-backed export plugin
- Polarion export fix component upload bug and upload id first
- Convert story ReST export to use a Jinja2 template
- Convert export-related code to plugins per format
- Do not clone the whole remote plan in dry mode
- Hardcode tmt git URL so test won't fail for PRs
- Add py.typed marker for 3rd party type annotations
- Fixes isort 5.10.1 installation issue
- Improve logging by
tmt.utils.wait()
- Check packages are installed via debuginfo-install
- Always ignore failures for recommended packages
- Merge report plugins options into step data fields
- Dynamically find the current Fedora release
- Suggest using a pull request checklist template
- Include a simple Python code among the examples
- Apply normalization callback when updating data with CLI input
- Bump pre-commit linters - Flake8, Mypy, JSON schema, YAML lint & pygrep
- Use base implementation of provision plugin requirements
- Relay 'interactive' value for podman call
- Update Fedora versions in
upgrade
tests - Apply
ShellScript
for the custom reboot command - Update the
shell
discover specification - Enable to sync git repo to SUT in
shell
discover - Increase the default
utils.format()
indent a bit - Define pull request Copr build job in Packit config
- Decouple logging from objects and base classes
- Enable
url
andref
asshell
discover options - Export
TMT_TREE
in other steps as well - Add a new key
system
to thehardware
spec - Remove default for the dynamic
ref
evaluation - Schema update and test for order in discover step
- Merge report plugins options into step data fields
- Add a test for hardware schema coverage
- Better type annotations of prepare/install scripts
- Move
jinja2
require to the maintmt
package - Define the new context dimension
initiator
- Respect
TMT_WORKDIR_ROOT
variable intestcloud
- Annotate commands, command line elements and shell scripts
- Adjust the
reportportal
plugin implementation - Implement the
reportportal
report plugin - Require the latest
testcloud
package - Define
srpm_build_deps
in the packit config - Include the new web link in verbose
show
mode - Add a clickable web link to test to polarion export
- Enhance
Links
to allow checking for any links at all - Drop various guest
wake()
methods in favor of parent class - Catch
SystemExit
during module discovery
Improved export; verbose output for provision and prepare; TMT_WORKDIR_ROOT; provision error handling; prune in finish step
Highlights
- Do not leak "private" fields into export
- Set guest hostname in testcloud provision
- Capture provision error when login is used
- Support
TMT_WORKDIR_ROOT
environment variable - Support step data definitions carrying CLI options
- Prune irrelevant files during the
finish
step - Support to import empty key from Makefile
- Support absolute paths in HTML reports
- Capture exceptions when getting
image_url
- Enable verbose output for
provision
&prepare
- Initial support for passing ssh options from cli
- Update specification of the
where
multihost key
Full changelog
- Do not prune
html
andjunit
reports - Skip extending fmf context if cli context missing
- Connect needs is_ready property as well
- Cover setup.py with pre-commit Python checks
- Do not leak "private" fields into export
- Set guest hostname in testcloud provision
- Capture provision error when login is used
- Support
TMT_WORKDIR_ROOT
environment variable - Support step data definitions carrying CLI options
- Adds flake8 coverage for bin/ directory
- 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
- Support absolute paths in HTML reports
- Capture exceptions when getting
image_url
- Enable verbose output for
provision
&prepare
- Add support for Artemis v0.0.47 upcoming release
- Remove unused variables
- Initial support for passing ssh options from cli
- Update specification of the
where
multihost key - Add a simple test demonstrating the upgrade testing
- Use custom subclass of click.Context for better annotations
- Extend the
duration
for tests using containers - Change common class constructors to use keyword arguments only
- Make packit build with the next release.dev version
- Add basic test coverage for
tmt story export
- Fix export of the story
priority
field - Read source from correct directory if ref is used
Fix duration, import remote plan, dynamic ref parametrization, remove obsoleted execution methods
Highlights
- Fix test duration enforcement
- Support fetching remote repo for
shell
discover - Fix default
framework
, remove old execution methods - Login after each test using the
--test
parameter - Enable context based plan parametrization
- Add support for dynamic
ref
evaluation - Add import plan feature
Full Changelog
- Protect args in rsync call
- Set tree root for the default plan tree as well
- Properly set the
tmt
script shebang onrhel-8
- Use image exists to check for container image
- Updates docs with example on
adjust
&prepare+
- Fix test duration enforcement
- Skip missing debuginfo packages in
recommend
- Explicitly document extending the plan environment
- Fix ownership of a tmp directory propagated to container
- Support fetching remote repo for
shell
discover - Fix default
framework
, remove old execution methods - Add support for Artemis v0.0.46 upcoming release
- Handle an fmf fetch error in remote plan clone
- Do not truncate
RunError
output in verbose mode - Warn user about data erasing after prepare step
- Formalize
data
package passed to theResult
class - Change order of plugin and guest classes in files
- Add
compatible
as a new hardware specification key - Add
tpm
as a new hardware specification key - Move the hardware specification into a separate page
- Improve fmf-id processing
- Add test for TTY state in test environment
- Login after each test using the
--test
parameter - Mention version where important features were added
- Handle dist-git-sources for gitlab
- Fix getting CentOS via --how virtual
- Capture uncaught exceptions when using testcloud
- Update the overview of essential classes
- When following command line --how, do not iterate over step data
- Convert utils' Run unit tests to class-less tests
- Enable variable expansion for dynamic references
- Support beaker libraries as recommended packages
- Add
SpecBasedContainer.to_minimal_spec()
method (#1637) - Enable context based plan parametrization
- Coverage for tests defined under
discover.shell
- Fix
/tests/run/shell
access permission problem - Add step data classes for provisioning and report
- Adjust support for the dynamic
ref
evaluation - Add support for dynamic
ref
evaluation - Add a test for fmf id parsing and normalization
- Fix NO_COLOR not being honored by executed command output
- Moves common command options into one place
- Log full chain of exceptions, not just the first cause
- Drop deprecated PluginIndex
- Add message to failure tags in junit report
- Update the pip installation plan
- Remove pointless reimport of tmt.base in discover steps
- Do not use f-string as a docstring
- Fix use of variable before assignment in
Plan.go
- Fix variable redefinition in
discover/shell.py
- Fix guest distro detection, do not throw results away
- Fix a typo in
cpu.sockets
hardware requirement - Make links relative for report html
- Review all uses of
type: ignore
and link relevant issues - Enhance ClickOptionDecorator type to announce identity
- Update
/tests/execute/upgrade/override
duration - Review all uses of
Any
and link relevant issues - Annotate all
cast()
calls with respective issues - Move the
Result
class into a separate file - Unblock mypy's follow-import setting
- Use set comprehension instead of list-in-set sequence
- Use
enumerate()
instead ofrange(len())
- Use dict comprehension instead of tuple-in-list-in-dict
- Replace two more list comprehensions with generators
- Replace GeneralError's "origin" with Python's "raise from"
- Fix normalization of the
Plan.context
key - Adds a missing import to polarion plugin
- Update all linters to their most recent versions
- Define CPU HW components with more granularity
- Adjust the support for importing remote plans
- Add import plan feature and tests
- Add type annotations to
base.py
- Fix test depending on ordering of elements in junit XML
- Adds type annotations to
tmt
itself - Remove custom yet same implementation of step's show()
- Make sure
repo_copy
is gone beforemake srpm
Custom results, polarion import, typing, refactoring...
Highlights
- Custom results implementation
- Add Polarion as a source for test case import
- Support to install package from URL
- Refactor internal link handling and storage
- Substantial progress on typing annotations
Full Changelog
- Fix recommended packages handling for rpm-ostree
- Add EFI configuration to the
tmt-reboot
script - Fix adjust for precommit test
- Fix provision for coreos image
- Emit only non-default keys when constructing a test from
execute
- Add flake8 config file for easier integration with IDEs
- Multiple scripts for CLI prepare -h shell
- Allow mypy to cover the whole tmt.plugins and tmt.steps
- Add typing for
steps/execute/upgrade.py
- Fix name & default value of polarion's upload field
- Fixes enhancing of environment by local's guest implementation
- Ignore plan -n when searching for upgrade path
- Document & correct use of class conversion methods
- Print fmf tree location when schema unit test fails
- Custom results implementation
- Refactors internal link handling and storage
- Allow mypy to cover whole tmt.steps.prepare
- Add typing for
steps/execute/internal.py
- Use workdir with safe names without special chars
- Adjust support for installing remote packages
- Support to install package from URL
- Make sure short option '-x' is covered
- Add Polarion as a source for test case import
- Print path to the used ssh identity
- Add typing for
steps/prepare/__init__.py
- Use generator instead of list comprehension with any/all
- Fixes handling of default of --key in connect plugin
- Update test data for the debuginfo install test
- Add a helper for importing a member from a module
- Fix plan schema to allow custom context dimensions
- Allow mypy to cover whole tmt.steps.discover
- Remove support for the obsoleted
detach
executor - Add typing for
steps/discover/fmf.py
- Fix importing for pylero
- Allow mypy to cover whole tmt.steps.provision
- Replace blank "type: ignore" with more specific waivers
- Use the
SerializableContainer
for plugins' data - Enhance SerializableContainer with default key value inspection
- Moves validation and normalization mixins to utils
Remote playbooks in prepare; Common attributes extended; Nested root warning
Main improvements and fixes:
- Error out if reboot timeout is exceeded
- Initialize workdir thread-safe
- Add support for remote playbooks in prepare
- Print escaped command suitable for manual debugging
- Less eager to disable nitrate case during export
- Move
tag
andtier
to common core attributes - Hint user if 'tmt init' creates nested root
Whole change log:
- Unify Polarion case searching
- Error out if reboot timeout is exceeded
- Initialize workdir thread-safe
- Add support for remote playbooks in prepare
- Add plan schema for errata and minute plugins
- Correct rhts command names in stories file
- Print escaped command suitable for manual debugging
- Fix report plugin not getting arguments from fmf file
- Less eager to disable nitrate case during export
- Move
tag
andtier
to common core attributes - Use
/bin/bash
instead of/bin/sh
for execute - Reorder step and their base plugin classes
- Fix prepare/multihost docs to match implementation
- Teach schema validation tests to peek into other trees
- Clarify motivation for creating
id
during export - Add link-polarion option and fix link searching bug
- Ignore race in last-run symlink creation
- Fix polarion tcmscaseid search
- Force order of clean operations
- Convert status/clean argument to option
- Report enabled plans/tests/stories via option
- Hint user if 'tmt init' creates nested root
- Require
libvirt-daemon-config-network
as well - Add type annotation for /steps/prepare/install.py
- Encapsulate created file within script's dataclass
- Adds normalization layer to base classes based on fmf
- Fixes data class used for local guest creation
- Fixes Artemis guest data class link
- Making tests/full more usable
- Add typing for tmt/steps/provision/podman.py
- Add typing for tmt/steps/provision/testcloud.py
- Add typing for tmt/steps/provision/local.py
- Remove unused keys parameter from wake() methods
- Adds types describing tmt constructs when as stored in raw fmf data
- Typing /steps/provision/connect.py
- Allow raising an exception on validation errors
- Inject logger object to base node classes inheritance
- Fixes use of SSH keys in testcloud and connect plugins
- Annotate tmt.steps.provision
- Ask mypy to show error codes in its messages
- Testcloud expects disk and memory to be int
- Do not inherit classes from object
- Use keyword-only init in base fmf-backed classes
- Use decorator to register plugin methods
- Demonstrate inheritance on a virtual test example
- Add a simple hint how to write user messages
- Add typing for
steps/finish/ansible.py
- Remove unneeded parameters for step load/save (#1428)
- Normalize step data to be always stored a list internally
- Display test/plan/story name in parametrized schema tests
- Allow numbers and booleans to be values of environment
- Give a reasonable error for old data format
- Add typing for tmt/steps/finish/init.py
- add typing for steps/discover/shell.py
- Adds a fmf node validation layer to core classes (Test/Plan/Story)
- Add missing keys
role
andwhere
to schemas - Extend plan schema with all known step plugin schemas
- Correcting rhts aliases & adding rhts opt.
- Adds a generic "wait for condition" primitive
- Disallow push/pull/execute if guest is unavailable
- Rename "default how" step attribute to enhance its visibility
- Use textwrap.dedent() to unindent docstrings
Reboot timeout and reconnect improvements; polarion report; library recursion
Main improvements and fixes:
- Backwards compatibility for
rstrnt-abort
,rstrnt-report-log
andrstrnt-report-result
. - Package installation using
rpm-ostree
. - Polarion report plugin.
- Implement reboot reconnect timeout configuration and make sure machine was rebooted before reconnect.
- Cut circular dependency of libraries.
- Print result for
execute -v
. - Fixing the directory name escaping in 'cd' command.
- Precommit hooks to call tmt * lint
Whole change log:
- Reboot has to check for boot time
- Fix path inside pre-commit test
- Cut circular dependency of libraries
- Update 'Develop' section of contribution docs
- Precommit hooks to call tmt * lint
- Schema loading helpers
- Package schemas in subdirectories too
- Implement reboot reconnect timeout configuration
- Add missing report specifications/docs
- Print result for execute -v
- Correct import assumption about script
- Ask mypy to check whole tmt.steps.report package
- Fixing the directory name escaping in 'cd' command
- Add polarion report plugin
- Add schemas for plans
- Write extra-nitrate as soon as possible
- Retry git clone without --depth=1 if it failed
- Support to lint attribute 'id'
- Do not apply test command filter in upgrade
- Fix export.py typing issues
- Refactor location and signature of Phase's go() method
- Simplify abort handling
- Backwards compatibility for rstrnt-abort
- Add type annotations for tmt/cli.py
- Add typing for tmt/export.py
- add typing for steps/discover/init.py
- Convert guest implementations to use serializable container for load/save
- Detect plugins by entry_point as well
- Add typing for
steps/execute/__init__.py
- Add typing for
tmt/convert.py
- Remove duplicated dist-git-source/dist-git-type
- Add typing for
steps/report/junit.py
- Add typing for
steps/report/html.py
- add typing for steps/report/display.py
- Add typing for steps/report/init.py
- tmt-file-submit is a bash script
- Add type annotations for tmt/options.py
- Backwards compatibility for
rstrnt-report-log
- Support conditional requires with
pip
as well - 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 - Fix package installation using
rpm-ostree
- Handle empty fmf file as an empty dictionary
- Fix distgit testsuite after tmt packaging change