Have a plugin for creating copr/koji reverse dependency testing
Design
[ ] plan.discover: Create tests that would run copr/koji builds
packages: Packages for which to run fedrq wr ${packages}/fedrq wr --src ${packages} (it seems to give union instead of intersect)
spec_file: Alternative to the above that generates all packages from the spec file
...: Other args to be passed to generate the test framework with
[ ] test.framework: Main test interface running copr/koji build
user/group: copr user or group to which to submit the build
project: copr project where to build in
from_dist_git: Create copr build using the distgit repo's spec file
For koji, the builds would just be --scratch
[ ] Authentication: Could be handled manually by a prepare step or by the infrastructure testing-farm/github secrets
[ ] How to include the current build?
Manual via copr, assume this is already setup in the user/group/project variables
koji_build/copr_project: variables pointing to where the local build was created
testing-farm and packit provide the information of where the build was made, but it would hard-code the integration there
Future improvements
Integration with upstream/downstream: E.g. building in side-tag, specifying dependent git repo/branch
Chaining testing-farm executions such that the integration tests are run for upstream
Packit interface to use in test.framework
Create copr build from packit.yaml if downstream or upstream contains the configuration
Equivalent integration for local build with mock
Other notes
Such plugins should be incorporated outside of main tmt, because the dependencies on copr/koji interface could be problematic for non-Fedora packaging environments, especially since many of those dependencies would have compiled libraries. Well I guess having it as optional-dependencies would also work :thinking:, but the testing could be quite crowded
Thoughts on the potential integration? @lachmanfrantisek @thrix
Goal
Have a plugin for creating
copr
/koji
reverse dependency testingDesign
plan.discover
: Create tests that would runcopr
/koji
buildspackages
: Packages for which to runfedrq wr ${packages}
/fedrq wr --src ${packages}
(it seems to give union instead of intersect)spec_file
: Alternative to the above that generates allpackages
from the spec file...
: Other args to be passed to generate the test framework withtest.framework
: Main test interface runningcopr
/koji
builduser/group
: copr user or group to which to submit the buildproject
: copr project where to build infrom_dist_git
: Create copr build using the distgit repo's spec file--scratch
prepare
step or by the infrastructuretesting-farm
/github
secretscopr
, assume this is already setup in theuser/group/project
variableskoji_build
/copr_project
: variables pointing to where the local build was createdtesting-farm
andpackit
provide the information of where the build was made, but it would hard-code the integration thereFuture improvements
testing-farm
executions such that the integration tests are run for upstreamtest.framework
mock
Other notes
copr
/koji
interface could be problematic for non-Fedora packaging environments, especially since many of those dependencies would have compiled libraries. Well I guess having it asoptional-dependencies
would also work :thinking:, but the testing could be quite crowdedThoughts on the potential integration? @lachmanfrantisek @thrix