You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@yetus.apache.org by "Allen Wittenauer (JIRA)" <ji...@apache.org> on 2018/11/16 18:19:00 UTC

[jira] [Commented] (YETUS-721) personalities shouldn't directly set repository information

    [ https://issues.apache.org/jira/browse/YETUS-721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16689790#comment-16689790 ] 

Allen Wittenauer commented on YETUS-721:
----------------------------------------

Some ideas:

* Remove repo information from default personalities
  * Pro: solves the problem
  * Con: not really: users outside the CI may not have correct information when run locally, not all CI systems (e.g., Jenkins freestyle) are guaranteed to provide it

* Save repo info, process personality, then reset repo info if the previous saves were valid
  * Pro: backward compat
  * Con: this sounds less than ideal and feels like lying to the personality

* Introduce a new var (foo_DEFAULT) and change all personalities to use it.  If repo information isn't set, then copy from foo_DEFAULT
  * Pro: Interface-wise, this seems very clean and drives the point to personality writers
  * Con: backward incompat

* Introduce a new var (foo_REAL) and use that.  Only use the existing foo repo vars if _REAL is unset.
  * Pro: Backward compat
  * Con: this sounds pretty awful for the internals and will likely lead to confusion



> personalities shouldn't directly set repository information
> -----------------------------------------------------------
>
>                 Key: YETUS-721
>                 URL: https://issues.apache.org/jira/browse/YETUS-721
>             Project: Yetus
>          Issue Type: Bug
>          Components: Test Patch
>    Affects Versions: 0.8.0
>            Reporter: Allen Wittenauer
>            Assignee: Allen Wittenauer
>            Priority: Critical
>             Fix For: 0.9.0
>
>
> One of the key learnings from YETUS-681 is that it's pretty harmful for forks if the personality specifically sets the github repo:
> 1) User forks apache/yetus
> 2) User configures Travis CI to run their local yetus repo
> 3) User makes a pull request against their local yetus repo
> 4) test-patch reads the github info from Travis CI to know the repo location
> 5) User sets --project=yetus, which then changes the github information to apache/yetus
> 6) Pull request test fails because that PR doesn't exist in apache/yetus



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)