Ask Your Question
0

Usage of test_commit and test_pull_requests in rosdistro file

asked 2016-07-07 19:03:02 -0500

130s gravatar image

updated 2016-07-11 15:02:25 -0500

Where can we find the usage of test_commits and test_pull_requests tags in rosdistro file?

Looking at rep-0143 they look so useful. However, after I turned test_pull_requests on for a package, I've not seen nor received anything regarding pull requests with ROS buildfarm. Are we supposed to get emails? Or is the github PR page supposed to get updated? Or is there specific website to look at about the result?

And I wanted to document this once I resolve this question, but where's the best place to be? I'm inclined to change the title of this wiki page so that it can talk a bit more general stuff about rosdistro usage.

Related question


Update 7/11/2016

you need to give the GitHub user used by Jenkins access to setup web hooks

I'm not sure if I understand this correctly, nor the wiki page that says the following:

The GitHub org unit where the repository is located must grant access to the user ros-pull-request-builder in order to allow Jenkins to setup the necessary web hooks.

What is grant access here might be my question. On https://github.com/%OUR_ORG%/%REPO%/settings/collaboration, I just gave a write access to ros-pull-request-builder to our repo, which I feel a little too much. but since the repo is open to public granting read access doesn't make sense to me. Could you be specific about what needs to be done?


Update2 7/11/2016

Sorry but still not sure.

  • I gave @ros-pull-request-builder an admin access. Then add a comment @ros-pull-request-builder retest this please in a pull request.
  • (Though nt sure if this is right thing to do) Also I added the following at https://github.com/%OUR_ORG%/%REPO%/settings/hooks, with jenkins url http://jenkins.ros.org:8080/github-webhook

    • Jenkins (GitHub plugin)
    • Jenkins (Git plugin)

I don't see anything happens, and on the github hook page, both of the above is indicated as "This hook has never been triggered`.

edit retag flag offensive close merge delete

Comments

When you change the permission it doesn't retrigger Jenkins to try to establish the webhook. Please add a link to the job and I can manually reconfigure it. Otherwise it happens automatically every night.

Dirk Thomas gravatar image Dirk Thomas  ( 2016-07-11 15:38:01 -0500 )edit

The two webhooks you manually created look incorrect. I would not recommend trying to configure that manually but let Jenkins handle the webhook creation.

Dirk Thomas gravatar image Dirk Thomas  ( 2016-07-11 15:38:24 -0500 )edit

Sorry I tried but couldn't spot the job on http://jenkins.ros.org:8080 . The PR I'm testing is https://github.com/tork-a/rtmros_next... if that helps.

130s gravatar image 130s  ( 2016-07-12 17:02:15 -0500 )edit

Are you referring to this job: http://build.ros.org/view/Ipr/job/Ipr... If yes, the ros-pull-request-builder use has no permissions on that org unit and therefore can't setup the webhook.

Dirk Thomas gravatar image Dirk Thomas  ( 2016-07-12 17:24:54 -0500 )edit
1

If you rely on your manual webhook you might want to look at https://developer.github.com/webhooks... on how to test if it works. Btw. the server is build.ros.org and not jenkins.ros.org (which is only a redirect).

Dirk Thomas gravatar image Dirk Thomas  ( 2016-07-12 17:31:01 -0500 )edit

Turned out that the server's URL was the key for me. Now webhook seems to have been triggered. Thank you Dirk!

130s gravatar image 130s  ( 2016-07-13 19:48:15 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2016-07-07 19:48:41 -0500

Dirk Thomas gravatar image

updated 2016-07-11 13:42:13 -0500

One of the bloom tutorials describes the process to enable pull request jobs for your repo: http://wiki.ros.org/buildfarm/Pull%20...

I assume you are missing the 1.1 Prerequisite a step. You need to give the GitHub user used by Jenkins access to setup web hooks to notify Jenkins about pull requests and changes to them.

Update: I have updated the wiki page with a reference to the Jenkins plugin and repeating the requirements documented there.

Jenkins uses the Pull Request Builder plugin to setup the webhooks which trigger Jenkins for new or updated pull requests and report back the status. Therefore the GitHub org unit where the repository is located must grant push, pull and administrative rights to the user ros-pull-request-builder. (You can setup the webhook manually to avoid the need for administrative rights. Then the Jenkins user only needs push and pull access.)

edit flag offensive delete link more

Comments

Thanks, I updated OP to ask a bit further.

130s gravatar image 130s  ( 2016-07-11 12:58:15 -0500 )edit

I updated the answer.

Dirk Thomas gravatar image Dirk Thomas  ( 2016-07-11 13:42:35 -0500 )edit

Hm, still trying. I added "Update2" in my op for more question.

130s gravatar image 130s  ( 2016-07-11 15:03:01 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2016-07-07 19:03:02 -0500

Seen: 163 times

Last updated: Jul 11 '16