#256 Improvements for Jenkins CI for Pull Requests
Closed: Fixed 4 years ago by rayson. Opened 5 years ago by lholecek.

Here is list of few annoyances and issues with current state of CI for PRs.

  1. To see the actual error from failed build, logging into Jenkins is needed. This is not possible for external contributors.

  2. Status is not updated when new build starts -- last status is shown. Also if new build finishes the date under status stays the same. E.g. status here shows "5 days ago" but the build is newer.

  3. Updating build dependencies in spec file requires re-building Jenkins slave image (but it's needed just for the given PR, not globally).

CC @rayson


Good suggestions.

To see the actual error from failed build, logging into Jenkins is needed. This is not possible for external contributors.

This is absolutely needed to keep the results and logs open. Is there any good place to put the test result?

Status is not updated when new build starts -- last status is shown. Also if new build finishes the date under status stays the same. E.g. status here shows "5 days ago" but the build is newer.

I will check the Pagure API to see if we can update the build time in the status. Other options are like using a robot account to make some comments, etc.

Updating build dependencies in spec file requires re-building Jenkins slave image (but it's needed just for the given PR, not globally).

I am currently not sure if there is a good solution. I will keep this question open and look for advise from the whole team.

To see the actual error from failed build, logging into Jenkins is needed. This is not possible for external contributors.

This is absolutely needed to keep the results and logs open. Is there any good place to put the test result?

Maybe put a relevant error into a new comment on the PR (not sure if that's possible since the log on Jenkins is usually a verbose mess). This would also send an e-mail to the PR's author (setting a flag from CI doesn't seem to do this).

Status is not updated when new build starts -- last status is shown. Also if new build finishes the date under status stays the same. E.g. status here shows "5 days ago" but the build is newer.

I will check the Pagure API to see if we can update the build time in the status. Other options are like using a robot account to make some comments, etc.

Ideally, right after new build starts, it would set status to "pending" (or maybe "percent" to "50").

Not sure about the date though, could be a UI bug in Pagure.

Update: I didn't see any option in Pagure API doc to update the date in a PR status (https://pagure.io/api/0/ then search for Flag a pull-request). That could be a PR issue.

I will start working on this improvement from this week. Thanks.

Update:

  1. Pagure doesn't record the time of flag changes, so that is a lack of feature. A RFE has been created: https://pagure.io/pagure/issue/3987.
  2. For the suggestion of making comments with test results: I tried using Pagure to make comments to a PR, but failed with a weird authentication error. Probably that API is broken. Created an issue to track: https://pagure.io/pagure/issue/3993

Update:
Filed a RFE for APIs with longer lifetime: https://pagure.io/pagure/issue/3994

Item 1 is fixed by upstream. Closing.

Metadata Update from @rayson:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

4 years ago

Login to comment on this ticket.

Metadata