-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Travis: Build new binding pull requests with tests #5389
Conversation
Travis tests have failedHey @davidgraeff, 2nd Buildbuildci.sh
TravisBuddy Request Identifier: e0396110-5714-11e9-979a-6d93f48c24a0 |
240e34a
to
203a57d
Compare
Hey @davidgraeff, TravisBuddy Request Identifier: a6775c70-5719-11e9-979a-6d93f48c24a0 |
That used to work briefly on Jenkins. @kaikreuzer did you set this up? |
@martinvw Yes, Jenkins is configured to publish the SAT reports of the PR builds - but it looks in |
@davidgraeff is this something which can be wrapped up, it looks promising. |
I have outlined what is still missing in the WIP section. I would like to have karaf feature tests, but I do not know the maven goal and target to do that. And the karaf maven plugin page is absolutely not helpful for a non-maven guy :/ A second issue is that maven still outputs download progress. I really don't know what is going on in maven developers mind and judging by the code that I have inspected I'd say not much at all. They could at least have used different log classes for different types of output. I wish to have a clean build log for travisbuddy, so that even newbies can easily identify and tell apart notes, warnings and build step logs. |
I cant solve the karaf feature check for you but i can look into the second.
I found
https://codecraft.vaamo.de/2014/08/22/less-is-more-when-it-comes-to-ci-logs.html
is this a road you already explored?
Regards
Op vr 28 jun. 2019 om 11:10 schreef David Gräff <notifications@github.com>
… I have outlined what is still missing in the WIP section. I would like to
have karaf feature tests, but I do not know the maven goal and target to do
that. And the karaf maven plugin page is absolutely not helpful for a
non-maven guy :/
The second think is that maven still shows the download progress. I really
don't know what is going on in maven developers mind and judging by the
code that I have inspected I'd say not much at all. I guess they imagine to
use maven with a piped log filter. I really don't know. But I wish to have
a clean build log for travisbuddy, so that even newbies can easily identify
and tell apart notes, warnings and build step logs.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/openhab/openhab2-addons/pull/5389?email_source=notifications&email_token=AAUA577G5UDZU6TZOI5MG6TP4XIO5A5CNFSM4HDSI2C2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYZRFVA#issuecomment-506663636>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAUA577ASPSYJQTBVAJ5XV3P4XIO5ANCNFSM4HDSI2CQ>
.
|
What you have found looks promising, that's what I had in mind |
I suppose to separate that and merge what you already included, shall I also remove the new fake binding? |
@davidgraeff shall I also rebase it? You might then be better of removing your local copy I IMHO |
Signed-off-by: David Graeff <david.graeff@web.de>
…uration part. Use daily snapshot updates Signed-off-by: David Graeff <david.graeff@web.de>
Signed-off-by: David Graeff <david.graeff@web.de>
…ngs from the reporting utility Signed-of-by: Martin van Wingerden <martin@martinvw.nl>
@openhab/2-x-add-ons-maintainers The two running builds should help us decide whether its time to merge: Full build: https://travis-ci.org/openhab/openhab2-addons/jobs/551749200 Single-binding build: (Ran for 5 min 13 sec) https://travis-ci.org/openhab/openhab2-addons/jobs/551752246 |
Hey @davidgraeff, TravisBuddy Request Identifier: e8583c50-999e-11e9-8610-39232d9ecaa4 |
I think that is such a big improvement that we should just do it. We could create issues for the open points and we SHOULD NOT FORGET to remove the fake binding :-D Could we also use this moment to re-enable the tests (not the itTests) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm happy but we shouild not forget to remove the fake binding
Hey @davidgraeff, TravisBuddy Request Identifier: 3eee7f40-99a2-11e9-8610-39232d9ecaa4 |
Perfect. I agree to merge asap. |
Not directly related but similar topic: we should get SAT working again, this especially important for new contributions. |
AFAIK it just works, I was at least able to run it for the single binding. I didn’t test the full build though. |
SAT is not including all reports and not working for bindings with internal libraries (PR Open) |
The full build without SAT (and tests?) apparently already takes 40 minutes. Because maven doesn't perform SAT checks in parallel to build steps, that will probably increase to an unhandable long time. So I think it never make sense to run SAT for a full build in this repo. (Not even the distro would need that. I mean what will the distro guys do if a binding in here fails on SAT checks.) With this PR merged, every binding that will be touched from then on will run SAT (except the ones with internal libraries as J-N-K has pointed out). |
@wborn / @Hilbrand / @cweitkamp / @J-N-K I think that if you are okay, then its ready to be merged, I stripped of the test-commit. |
Manually verified Signed-Off. |
Hey @davidgraeff, TravisBuddy Request Identifier: ab623700-99bd-11e9-8610-39232d9ecaa4 |
@davidgraeff there is a little flaw, if the author does not keep the master branch of his own repo up-to-date it still triggers a full rebuild. We should try to look into that. On my
|
} | ||
|
||
# Determine if this is a new addon -> Perform tests + integration tests and all SAT checks with increased warning level | ||
CHANGED_DIR=`git diff --diff-filter=A --dirstat=files,0 master...HEAD bundles/ | sed 's/^[ 0-9.]\+% bundles\///g' | grep -o -P "^([^/]*)" | uniq` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we also have a special build for people changing only files in a single module, now it only focuses on either new contributions or it does the complete build.
I found a possible solution, there is the option to get the commit range which is part of the PR as an input: $TRAVIS_COMMIT_RANGE I'm adapting the scripts and will also add support for only changes in a single module, I think that I would just handle it as one, unless someone disagrees? |
I included the changes mentioned above in #5765 |
* Travis: Build new binding pull requests with tests * Move shell script into own file and keep the yaml file for the configuration part. Use daily snapshot updates * Overwrite travis default behaviour Signed-off-by: David Graeff <david.graeff@web.de> * Some finetuning to filter out download progress and include all warnings from the reporting utility Signed-of-by: Martin van Wingerden <martin@martinvw.nl>
* Travis: Build new binding pull requests with tests * Move shell script into own file and keep the yaml file for the configuration part. Use daily snapshot updates * Overwrite travis default behaviour Signed-off-by: David Graeff <david.graeff@web.de> * Some finetuning to filter out download progress and include all warnings from the reporting utility Signed-of-by: Martin van Wingerden <martin@martinvw.nl> Signed-off-by: Maximilian Hess <mail@ne0h.de>
* Travis: Build new binding pull requests with tests * Move shell script into own file and keep the yaml file for the configuration part. Use daily snapshot updates * Overwrite travis default behaviour Signed-off-by: David Graeff <david.graeff@web.de> * Some finetuning to filter out download progress and include all warnings from the reporting utility Signed-of-by: Martin van Wingerden <martin@martinvw.nl>
* Travis: Build new binding pull requests with tests * Move shell script into own file and keep the yaml file for the configuration part. Use daily snapshot updates * Overwrite travis default behaviour Signed-off-by: David Graeff <david.graeff@web.de> * Some finetuning to filter out download progress and include all warnings from the reporting utility Signed-of-by: Martin van Wingerden <martin@martinvw.nl> Signed-off-by: Tim Roberts <timmarkroberts@gmail.com>
travisbuddy
This PR adds travisbuddy to .travis.yml. That service add (update) a comment to a PR on a build failure with the log attached. This is an intermediate step until we have full github checks api support and a curl command figured out to report SAT findings and Test results to the "Checks" tab. See also #4935
Partial build
The PR commits are analysed and if exactly one new directory is added to bundles/ then a build with tests and checks is performed for that new bundle otherwise the full repo build without tests and checks is executed as before.
WIP
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
set. That clutters the build log which would otherwise only show SAT and test reportsAdvantage for a new binding pull request
Signed-off-by: David Graeff david.graeff@web.de