Automatic PR builds

Our automatic PR builds stopped working on April 10.
I have tried many thinks and re-created all the webhooks many times already, without any success. :frowning:
Seeing this issue report, I assume that we are not the only one with such a problem and that there must be a general issue on Github side. I have reached out to Github support and hope that they will come back to me.
If anyone has an idea about that issue meanwhile, let me know.

Cheers,
Kai

The issue was indeed at Github:

A recent change made it so that if an organisation is disabled, GitHub will not deliver any webhooks. I see that your organisation’s billing is locked, which disables the organisation. I’ve just cleared the flag on our side, so your webhooks should be running now.

Everything works again now!

Hooray, only thing which seems missing is that the PR’s build with the tests and check’s disabled.

Will the PR builds run tests in seperate package like rfxcom vs rfxcom.tests anyway?

Well, that’s because of https://github.com/openhab/static-code-analysis/issues/15#issue-213791414.
I do not have any solution for this yet.

No. But I guess I can actually enable the tests, the issue above was mainly about the static analysis. I’ll have a try.

Hmm, some strange test failures :frowning: which seem unrelated to the changes in specific pr’s

https://openhab.ci.cloudbees.com/job/PR-openHAB2-Addons/4456/org.openhab.binding$org.openhab.binding.feed.test/console

ERROR] Cannot resolve project dependencies:
[ERROR]   Software being installed: org.openhab.binding.feed.test 2.1.0.qualifier
[ERROR]   Missing requirement: org.openhab.binding.feed 2.1.0.201704241336 requires 'package com.rometools.rome.feed 0.0.0' but it could not be found
[ERROR]   Cannot satisfy dependency: org.openhab.binding.feed.test 2.1.0.qualifier depends on: bundle org.openhab.binding.feed 0.0.0
[ERROR] 
[ERROR] See http://wiki.eclipse.org/Tycho/Dependency_Resolution_Troubleshooting for help.

https://openhab.ci.cloudbees.com/job/PR-openHAB2-Addons/4448/ (Russound PR fails on groovy problems in systeminfo binding)

13:58:48.857  |  [ERROR] Failed to execute goal org.eclipse.tycho:tycho-compiler-plugin:1.0.0:compile (default-compile) on project org.openhab.binding.systeminfo.test: Compilation failure: Compilation failure:
13:58:48.858  |  [ERROR] /scratch/jenkins/workspace/PR-openHAB2-Addons/addons/binding/org.openhab.binding.systeminfo.test/src/main/groovy/org/openhab/binding/systeminfo/test/SysteminfoOSGiTest.groovy:[50,39] 1. ERROR in /scratch/jenkins/workspace/PR-openHAB2-Addons/addons/binding/org.openhab.binding.systeminfo.test/src/main/groovy/org/openhab/binding/systeminfo/test/SysteminfoOSGiTest.groovy (at line 50)
13:58:48.858  |  [ERROR] import org.openhab.binding.systeminfo.SysteminfoBindingConstants
13:58:48.858  |  [ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^
13:58:48.859  |  [ERROR] Groovy:unable to resolve class org.openhab.binding.systeminfo.SysteminfoBindingConstants
13:58:48.859  |  [ERROR] 
13:58:48.859  |  [ERROR] /scratch/jenkins/workspace/PR-openHAB2-Addons/addons/binding/org.openhab.binding.systeminfo.test/src/main/groovy/org/openhab/binding/systeminfo/test/SysteminfoOSGiTest.groovy:[51,49] 2. ERROR in /scratch/jenkins/workspace/PR-openHAB2-Addons/addons/binding/org.openhab.binding.systeminfo.test/src/main/groovy/org/openhab/binding/systeminfo/test/SysteminfoOSGiTest.groovy (at line 51)
13:58:48.859  |  [ERROR] import org.openhab.binding.systeminfo.discovery.SysteminfoDiscoveryService
13:58:48.859  |  [ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^
13:58:48.866  |  [ERROR] Groovy:unable to resolve class org.openhab.binding.systeminfo.discovery.SysteminfoDiscoveryService
13:58:48.868  |  [ERROR] 
13:58:48.868  |  [ERROR] /scratch/jenkins/workspace/PR-openHAB2-Addons/addons/binding/org.openhab.binding.systeminfo.test/src/main/groovy/org/openhab/binding/systeminfo/test/SysteminfoOSGiTest.groovy:[52,47] 3. ERROR in /scratch/jenkins/workspace/PR-openHAB2-Addons/addons/binding/org.openhab.binding.systeminfo.test/src/main/groovy/org/openhab/binding/systeminfo/test/SysteminfoOSGiTest.groovy (at line 52)
13:58:48.869  |  [ERROR] import org.openhab.binding.systeminfo.handler.SysteminfoHandler
13:58:48.869  |  [ERROR] ^^^^^^^^^^^^^^^^^
13:58:48.869  |  [ERROR] Groovy:unable to resolve class org.openhab.binding.systeminfo.handler.SysteminfoHandler
13:58:48.869  |  [ERROR] 
13:58:48.870  |  [ERROR] /scratch/jenkins/workspace/PR-openHAB2-Addons/addons/binding/org.openhab.binding.systeminfo.test/src/main/groovy/org/openhab/binding/systeminfo/test/SysteminfoOSGiTest.groovy:[53,48] 4. ERROR in /scratch/jenkins/workspace/PR-openHAB2-Addons/addons/binding/org.openhab.binding.systeminfo.test/src/main/groovy/org/openhab/binding/systeminfo/test/SysteminfoOSGiTest.groovy (at line 53)
13:58:48.870  |  [ERROR] import org.openhab.binding.systeminfo.internal.SysteminfoHandlerFactory
13:58:48.870  |  [ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^
13:58:48.870  |  [ERROR] Groovy:unable to resolve class org.openhab.binding.systeminfo.internal.SysteminfoHandlerFactory
13:58:48.871  |  [ERROR] 
13:58:48.871  |  [ERROR] /scratch/jenkins/workspace/PR-openHAB2-Addons/addons/binding/org.openhab.binding.systeminfo.test/src/main/groovy/org/openhab/binding/systeminfo/test/SysteminfoOSGiTest.groovy:[663,2] 5. ERROR in /scratch/jenkins/workspace/PR-openHAB2-Addons/addons/binding/org.openhab.binding.systeminfo.test/src/main/groovy/org/openhab/binding/systeminfo/test/SysteminfoOSGiTest.groovy (at line 663)
13:58:48.871  |  [ERROR] @Override
13:58:48.871  |  [ERROR] ^^^^^^^^
13:58:48.871  |  [ERROR] Groovy:Method 'getHostName' from class 'org.openhab.binding.systeminfo.test.SysteminfoOSGiTest$SysteminfoDiscoveryServiceMock' does not override method from its superclass or interfaces but is annotated with @Override.
13:58:48.872  |  [ERROR] 
13:58:48.872  |  [ERROR] Found 5 errors and 0 warnings.
13:58:48.872  |  [ERROR] -> [Help 1]
13:58:48.872  |  [ERROR] 
13:58:48.872  |  [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
13:58:48.873  |  [ERROR] Re-run Maven using the -X switch to enable full debug logging.
13:58:48.873  |  [ERROR] 
13:58:48.873  |  [ERROR] For more information about the errors and possible solutions, please read the following articles:
13:58:48.873  |  [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
13:58:48.875  |  [ERROR] 
13:58:48.876  |  [ERROR] After correcting the problems, you can resume the build with the command
13:58:48.876  |  [ERROR]   mvn <goals> -rf :org.openhab.binding.systeminfo.test

So that was most likely the reason why they were deactivated :slight_smile:

I’ll try to setup a local Jenkins and try to reproduce some of these things, maybe something becomes clear.

imho running tests & checks in the PR builds is the reason for tests and checks to exist, so worth a lot of time. I’ll stop reviewing for some time :wink:

@Kai There is something wrong in triggering the build, maybe we do not do a clean checkout? And bundle all the changes in each new PR? What triggers which projects should be added to the pl argument?

-B -f /scratch/jenkins/workspace/PR-openHAB2-Addons/pom.xml -amd -pl org.openhab.binding:org.openhab.binding.freebox,org.openhab.binding:org.openhab.binding.russound,org.openhab.binding:org.openhab.binding.systeminfo.test -DskipChecks=true -DskipTests=true clean install

Jenkins PR build uses the “incremental build” feature, so it only builds what has changed (and this mechanism is likely to be incompatible with Tycho test executions). This build plan is currently only there to deploy the build result to Artifactory and it fulfills this purpose.
Tests and checks are executed on Travis, so this is the result to look at in case of problems.

Sorry for maybe asking a dump question but I created my first pull request for a binding (see https://github.com/openhab/openhab1-addons/pull/5181). How can I trigger an automatic build and let people download it for testing?

Thanks
Christian

No dumb question - but unfortunately, we currently have automatic PR build only in place for the openhab2-addons repo, not for the openhab1-addons. So people would have to test your changes from the sources within their IDE.