I mean testing not in the %test
phase of the spec/rpmbuild, but after the rpms are generated, install whatever they contain and run it.
For example, if my app brings a systemd unit or timer, or a CLI program or script, see if it works correctly. E.g. I have a build of ImageMagick. I also have a script which uses a set of test image data and can run the convert
tool from IM to check all supported file types work correctly.
So I would like to create a (gitlab) pipeline which does build -> install -> run test script. But I have not been able to get zypper
to install my built RPMs, because it expects packages to reside in a proper repo. And plain rpm
won’t work because it doesn’t resolve runtime dependencies.
So I guess my question boils down to:
- How to I transform a set of self-built RPMs into a “repo” that the local zypper on the build machine can use, but still pull dependencies from the official repos
- Given that repo is available, how do I transport said repo from one (GitlabCI) “task” to the next, as new docker instances are booted for each task (something about the
cache
anddependencies
keywords in GitlabCI) - Is it even smart to run applications on the build image, are tests there representative of the environment on “real” SFOS devices?