-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build RPM package for every created or updated PR #6
Comments
@mbukatov, @dahorak -> Please review/update the details. |
@TimothyAsir do we need PR to be merged in master for feature build? I feel without merge we should be able to cherrypick the PR and do a build. What you think? @r0h4n comments? |
@TimothyAsirJeyasing sorry for later response. Did I understand it correctly, that we want to:
|
@dahorak yes you are right, that's what its required. |
Triggering package build in CentOS CI for each pull request should be possible[1]. On the repository level we have to:
Everything else will be done in the job configuration (I'll create some proposal and send PR later). |
@dahorak , That is a good start. Also we need to think about:
|
For now, I would keep the builds in copr/tendrl/Features or similar repo (and for the test execution on a temporary test server which will be part of the testing cluster created ad hoc in CentOS CI). We can also consider usage of CentOS CI Artifacts.
We already have one testing cluster automated in CentOS CI (by default for packages from release repo). The test machines are prepared using ansible playbooks [1, 2]. So it will be similar (with some additional updates to be able to consume the PR builds.
I have the same question and I'm not sure how to do that... |
@nthomas-redhat @TimothyAsirJeyasing the source for the PR build should be taken from |
@nthomas-redhat Could you please add "centos-ci' as a user to all our tendrl repos so that the centos ci will get access to post the results and other stuff ? This can be done by the following steps: |
For reference see CentOS CI Wiki - section Mode 2: Trigger a build for each Pull Request. |
@TimothyAsirJeyasing , @dahorak , Ack |
@nthomas-redhat Could you please also check, which Webhooks are configured in the repositories? Accordingly to the CentOS CI Wiki, there should be at least Pull Request and Issue Comment in the Let me select individual events section selected. |
@dahorak Who are the admin users from Tendrl github org that can trigger the tests automatically on centos ci? How are we automating that since it requires a comment on PR from whitelisted admin user everytime you want trigger the tests |
I have added the required centos ci webhooks for PR builds in each repo |
@r0h4n Thanks for the webhooks! The intended state is, that every PR from somebody from Tendrl organization will automatically trigger the build/tests. |
Ok sounds good, I have also added "centos-ci" user to the Tendrl organization and to indvidual repos with "write" access as Collaborator. Let me know if you need anything else |
Hopefully, there will be not much "spam" from the centos-ci while I'm debugging the jobs :-)... |
It will definitely need some more tweaking, but now we have one job for each Tendrl repository (CentOS CI tendrl-PR view). The particular job should be triggered by new or updated PR or comment Jobs are configured not to run more concurrent jobs (for one repo), so if there are multiple PR/updates in one repo at once, it should trigger multiple jobs, but they will be executed one by one consecutively (we might consider to allow them run concurrently though). |
There will be an individual jobs created for every tendrl repo to run the functional tests whenever a pr is submitted to a repo
|
Timothy basically summarize it (the last two steps are not implemented yet). Here is PR with the job configuration: #8 (still WIP, so please do not merge). About the missing steps (cluster installation):
The question would be, if we wan't to have everything in one big job (build PR packages, validate the packages, prepare and install testing cluster,...), or if we want to split it to multiple jobs? |
@r0h4n there seems to be still some problems with updating the status back to github. Do you know, if it is required to somehow accept the invitation from the centos-ci site? I'm asking because I'm not sure, if the problem is with the job configuration of my job, or if it might be just unaccepted invitation from centos-ci site. //update: I've send email to CentOS ci-users mailing list with question about this. |
Ok, the notification back to github seems to be fixed. The status is reported in the Checks section as There seems to be still some remaining issue with whitelisted organization (members of Tendrl organization should be able to trigger the build, which I'm not sure if it works correctly). |
Accordingly what we discussed yesterday, my intention will be following functionality: Every new or updated PR will trigger package build job
Once PR will be ready for merge, somebody will manually trigger test job
|
I'll keep this issue just for tasks related to building PR packages and I'll create new issue for executing tests suite. |
(2018-02-07 updated/rewritten by @dahorak)
We would like to be able to automatically build RPM packages for every created or updated PR.
Build status should be reported back to the respective PR.
Packages should be available in some repository for any additional testing.
The intended workflow is:
run build
in the respective PR.Functional testing of the PR builds is covered in another issue: #10.
The text was updated successfully, but these errors were encountered: