Releases: teemtee/fmf
Releases · teemtee/fmf
Use local dict instead of modifying locals()
What's Changed
- Use local dict instead of modifying locals() by @martinhoyer in #248
New Contributors
- @martinhoyer made their first contribution in #248
Name search and operator escape in `filter()`, new `select` directive, merge operator `~`
What's Changed
- Add a
Toolbelt Catalog
entry forfmf
by @psss in #216 - Limit number of tests run for integration with tmt by @lukaszachy in #225
- Turn schema validation method into a stand-alone function by @happz in #189
- Small cleanups by @LecrisUT in #237
- Allow filtering based on the node name by @psss in #219
- Add directive
select
to force selecting node by @lukaszachy in #223 - Avoid
copy()
calls inadjust()
by @lukaszachy in #229 - Accept additional rules in the
adjust()
call by @lukaszachy in #230 - Support escaping
|
and&
inutils.filter()
by @psss in #220 - Implement the
~
merge operation by @lukaszachy in #234 - Extend the
filter()
documentation slightly by @The-Mule in #235 - Introduce a new page for release notes by @psss in #242
- Release fmf-1.4.0 by @psss in #243
New Contributors
Full Changelog: 1.3.0...1.4.0
Drop el8, case-insensitive context, adjust decision callback
Highlights
- Case-insensitive context matching
- Drop support for
el-8
andpython-3.6
- Implement custom
decision_callback
inadjust()
Full Changelog
- Allow case-insensitive context matching
- Move the copr repository to the
teemtee
group - Fix missing file require for unit tests
- Add callback to adjust() to make it observable by callers
- Drop support for
el-8
andpython-3.6
- Fix docs building on readthedocs
- Install
yq
needed fortmt
integration tests - Include
srpm_build_deps
in the packit config - Remove
metadata
from Packit config - Add missing build job to Packit config
- Update pre-commit checks to the latest versions
- Require
fmf
in tests, remove obsolete coverage - Fix a typo in the merging minus sign documentation
Retry if shallow clone didn't work
Single bugfix:
- Retry if shallow clone fails
Context (when optional, true/false); Select by source
Changes:
- Shallow git clone if no reference is used
- Select by the source of object
- Enable the flake8 check, fix detected issues
- Make when in adjust optional, add true|false expr.
- Version as fmf flag and module attribute
Directive for disabling inheritance; Schema validation
Features and bug fixes:
- Implement a directive for disabling inheritance
- Add support for prepending items during merging
- Explicitly convert context value to string
- Workaround s390x ruamel read issue
- Support reference schemas in validation function
- Add JSON Schema validation method
- Fixes blocking with symbolic link loops
- Use a better way to detect the default git branch
- Add unit tests for comma operator in context rules
- Add examples demonstrating the context syntax
Repo maintenance:
- Create commit builds from the main branch
- Enable epel-9 for copr builds and testing
Migrate to ruamel.yaml, drop Python 2 support
- Migrate yaml parsing to ruamel.yaml
- Drop support for Python 2
- Add extra requires and enable readthedocs config (#143)
- Filter accept value with a colon
- Adjust style to fix issues revealed by pre-commit
- Enable pre-commit, update contribution docs
- Disable integration testing with tmt for centos-7
Keep adjust rules, improve their evaluation, support empty files...
- Add support for empty files and virtual nodes
- Change outcome of CannotDecide operations
- Enable copr builds from master for epel-7 as well
- Define dict method to get child or data item
- Keep original adjust rules when adjusting nodes
- Use a deep copy when storing raw node data
- Fix warnings in pytest
Cache improvements, copy nodes, modify metadata...
- Implement the new 'fmf clean' command
- Functions to manipulate cache
- Fetch the whole tree using utils.fetch_tree()
- Raise FileException on duplicate YAML keys
- Allow to set desired cache location
- Adjust support for storing modified data to disk
- Add support for storing modified metadata to disk
- Prevent exploring tests in the tmp directory
- Simplify special distro comparison examples
- Store command output in run(), fetch() exceptions
- Use filelock for locking, expand test coverage
- Adjust locking for Tree.node() and utils.fetch()
- Use locking to checkout/read tree
- Enable integration testing with tmt, some cleanup
- Implement a new method copy() for cloning nodes
- Adjust fetch() with custom destination and env
- Support calls fetch(destination, env) and run(env)
- Use the origin default branch instead of master
- Store commit hash if the tree is under a git repo
Recursive merging, continue default, special comparisons...
- Adjust context docs, fix typos, style cleanup
- Left vs Right side in Context matches
- Simplify deep merging, adjust test suite a bit
- Implement recursive merging of data
- Remove the duplicate build job from packit config
- Adjust 'make test' to work under virtualenv
- Update the adjust continue key default to True