.On Tue, Dec 14, 2021 at 11:15 AM Vojtech Juranek <vjuranek(a)redhat.com> wrote:
...
> > we should move to GitHub completely ASAP. The only thing
> > missing is OST, right?
>
>
> Yes. I think what we need is a way to start OST build with a github
> pull request url:
>
>
CUSTOM_REPOS=https://github.com/oVirt/{project}/pull/{7}
>
> Or if it is easier, a way to upload zip files to jenkins for running OST.
If Jenkins wipes the workspace before/after each build, that won't be probably
the most easy way to go. Github actions deliver the rpm in zip file, so we
basically need
* download this zip file before build and unzip
This requires Personal Access Token:
https://docs.github.com/en/authentication/keeping-your-account-and-data-s...
So we need to add a github users with PAT that can download the built artifacts.
We need to find the artifacts in the build, likey using github API.
For example:
https://github.com/oVirt/ovirt-imageio/actions/runs/1573283335
The artifact we need is the centos-8.zip:
https://github.com/oVirt/ovirt-imageio/suites/4639547952/artifacts/125747744
The URL does not tell us that this is the centos stream 8 artifact, so we need
a way to locate it programatically.
* create local repo from it (vdsm.repo with
baseurl=file://$PATH_TO_UNZIP_DIR)
* use this local repo instead of previous Jenkins build artifact job URL
This is for a single host, all hosts in OST need to use the new repo.
Another option is to have a web server serving built rpms, e.g.
https://repo.ost.example.com/
And unzip each built rpm before the test to:
/serverroot/93d9ee4f-4cda-403a-a29d-9a3669ee49af/
So we have this layout:
/serverroot/
93d9ee4f-4cda-403a-a29d-9a3669ee49af/
repodata/
*.rpm
...
And start the OST job with:
CUSTOM_REPOS=https://repo.ost.example.com/93d9ee4f-4cda-403a-a29d-9a3669e...
When the OST job finish, delete
/serverroot/93d9ee4f-4cda-403a-a29d-9a3669ee49af/
This can also work with multiple pull requests, e.g. testing both vdsm
and engine pull request
at the same time.
Nir