Skip to content

Unify and refactor the discover step #4507

@therazix

Description

@therazix

After the merge of #4391, there are still several areas in the discover step that could benefit from further unification and refactoring.

  • Dist-git handling: Both discover plugins currently have their own implementations. The fmf discover plugin also introduces additional keys, such as dist_git_init and dist_git_extract. It would be beneficial to move dist-git handling into the discover step itself and unify the implementation and the keys where possible.
  • Handling of local repository content: When using a local repository, the fmf discover plugin copies the fmf root into the test directory (/var/tmp/tmt/run-XYZ/plans/plan-name/discover/default-0/tests) before the initial test discovery. The shell discover plugin creates a symlink to the worktree, so no files are copied into the test directory.
  • keep_git_metadata key: This key is currently supported only by the shell discover plugin. Would it make sense to extend this functionality to the fmf discover plugin as well? At the moment, the fmf discover plugin always preserves git metadata.

There may be other keys or behavioral differences worth unifying, or things I may have missed. Feel free to mention them here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area | maintenanceChanges important for efficiency and the long-term health of the projectplugin | fmfThe fmf discover pluginplugin | shellThe shell discover pluginstep | discoverStuff related to the discover step

    Type

    Projects

    Status

    backlog

    Status

    triaged

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions