On pe, 23 helmi 2018, Rob Crittenden via FreeIPA-devel wrote:
Alexander Bokovoy via FreeIPA-devel wrote:
On pe, 23 helmi 2018, Petr Vobornik via FreeIPA-devel wrote:
Hi all,

Felipe made nightly testing working as PRs in freeipa main Git Hub repo.

e.g.:
https://github.com/freeipa/freeipa/pull/1624
https://github.com/freeipa/freeipa/pull/1623

This is good. We can see the results publicly in comparison to
"upstream Jenkins". I also believe that it will be more stable. But
time will tell it. A disadvantage is more noise in mail notifications,
but that is not that drastic.

Let's discuss some aspects. First one is definitions of the tests
(.freeipa-pr-ci.yaml) and how to extend them.

We currently use 3 definitions:
* gating, the definition in repo
* nightly master tests
* nighly rawhide tests

Gating definition is in repo. But both nightly are not.

What is the way how other team members can extend this definition?
Where are they kept?

Could we also put them into a repo?
Yes, we can put them in the repo.


What about the following solution:
1. create a directory with tests definitions, e.g. /ipatests/definitions
2. put these 3 files there
 - gating
 - nightly_master
 - nightly_rawhide
3.  make .freeipa-pr-ci.yaml a symlink to /ipatest/definitions/gating
4. for nightly testing do PR which would change only the symlink

Benefits:
- anybody can extend nightly test suite
- the nighlty test suite can be extended right away in a PR which adds
the tests
- nightly tests won't fail on merge conflict when somebody extends
current gating spec

Possible alternative is to make it more complex and use something like
includes instead of symlinks, but that would need update of PR-CI and
I don't see a real benefit in comparison to the symlink solution.
I think symlink approach should be fine (relative symlink, that is).


How would the symlinks work with concurrency?
What concurrency? A PR CI run is:
- git checkout of the pull request
- run things in the checkout
There are no concurrent runners with different test definitions for the
same test run checkout.

What does a nightly/rawhide PR look like? Is that a one-off or something
that would be scheduled?
Here are the changes from the current run:
https://github.com/freeipa/freeipa/pull/1624/files

Even in this state a simple sequence of
 - rebase against master
 - push the rebase to PR1624

performed nightly would cause this PR to re-run.

So, yes, someone needs to schedule this periodic rebase but that's all.

--
/ Alexander Bokovoy
_______________________________________________
FreeIPA-devel mailing list -- freeipa-devel@lists.fedorahosted.org
To unsubscribe send an email to freeipa-devel-le...@lists.fedorahosted.org

Reply via email to