Looking this very helpful document
https://ovirt.org/develop/developer-guide/migrating_to_github.html
The suggested solution is to create artifacts.zip with all the rpms
for a project.
But to use the rpms in OST, we need to create a yum repository before uploading
the artifacts, so we can pass a URL of a zip file with a yum repository.
Here is what we have now in ovirt-imageio:
1. We build for multiple distros:
https://github.com/nirs/ovirt-imageio/blob/790e6b79e756de24ef5134aa583bea...
2. Every build creates a repo in exported-artifacts
https://github.com/nirs/ovirt-imageio/blob/790e6b79e756de24ef5134aa583bea...
3. Every build uploads the exported artifacts to rpm-{distro}.zip
https://github.com/nirs/ovirt-imageio/blob/790e6b79e756de24ef5134aa583bea...
An example build:
https://github.com/nirs/ovirt-imageio/actions/runs/1531658722
To start OST manually, developer can copy a link the right zip file
(e.g for centos stream 8):
https://github.com/nirs/ovirt-imageio/suites/4535392764/artifacts/121520882
And pass the link to OST build with parameters job.
In this solution, OST side gets a repo that can be included in the
build without any
additional code or logic - just unzip and use the repo from the directory.
I think this is the minimal solution to allow running OST with built
artifacts from github.
For triggering jobs automatically, we will need a way to find the
right artifacts for a build,
or use some convention for naming the artifacts in all projects.
I started with the simple convention of jobname-containername since it
is easy to integrate
with the infrastructure we already have in the project.
Nir