-
-
Notifications
You must be signed in to change notification settings - Fork 185
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
updating make test-math-dependencies; fixing warnings #1107
Conversation
8369695
to
136010f
Compare
❤️ Thanks! I wonder if now we can remove the |
@@ -127,8 +127,7 @@ pipeline { | |||
} | |||
post { | |||
always { | |||
warnings consoleParsers: [[parserName: 'CppLint']], canRunOnFailed: true | |||
warnings consoleParsers: [[parserName: 'math-dependencies']], canRunOnFailed: true |
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.
Looks like you might have lost the math-dependencies tool?
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.
There are two things going on:
- I don't know where the
math-dependencies
tool is? Meaning the parser for Jenkins. Themake test-math-dependencies
is just some fancy scripting. - The format of
make test-math-dependencies
adheres to cpplint, so if we can parse cpplint output, we should just be able to use that. I think when I had originally set it up, that's what I did in Jenkins (just used the CppLint parser).
Is there a different place I should be looking for the math-dependencies
parser? I wonder if I missed it cause it's in a different repo.
It's a custom parser set up somewhere in Jenkins master config (on phone
ATM or I'd try to find it). That said maybe we don't need it? I didn't add
it.
On Thu, Jan 24, 2019 at 16:41 Daniel Lee ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In Jenkinsfile
<#1107 (comment)>:
> @@ -127,8 +127,7 @@ pipeline {
}
post {
always {
- warnings consoleParsers: [[parserName: 'CppLint']], canRunOnFailed: true
- warnings consoleParsers: [[parserName: 'math-dependencies']], canRunOnFailed: true
There are two things going on:
1. I don't know where the math-dependencies tool is? Meaning the
parser for Jenkins. The make test-math-dependencies is just some fancy
scripting.
2. The format of make test-math-dependencies adheres to cpplint, so if
we can parse cpplint output, we should just be able to use that. I think
when I had originally set it up, that's what I did in Jenkins (just used
the CppLint parser).
Is there a different place I should be looking for the math-dependencies
parser? I wonder if I missed it cause it's in a different repo.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#1107 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAxJ7GXwbdXLErU4nful4vivh7F3N-FJks5vGihqgaJpZM4aODuI>
.
--
📲
|
Cool. Less is better than more. Let's see if we can get it done without a custom parser. |
58a8f06
to
016a7ae
Compare
016a7ae
to
15bf000
Compare
4dcf880
to
69b0ffd
Compare
@seantalts, I updated the PR. Once it passes tests, it'll be ready for review. |
Jenkinsfile
Outdated
warnings consoleParsers: [[parserName: 'CppLint']], canRunOnFailed: true | ||
warnings consoleParsers: [[parserName: 'math-dependencies']], canRunOnFailed: true | ||
recordIssues enabledForFailure: true, tool: cppLint() | ||
warnings consoleParsers: [[parserName: 'math-dependencies']], canRunOnFailed: true |
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.
Did you try recordIssues enabledForFailure: true, tool: math-dependencies()
? Would be good to get rid of the old warnings plugin completely as I think it's going away soon.
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 had tried before. Just to make sure, I tried again. This is the doc that makes me think that we can't do it that way: https://github.com/jenkinsci/warnings-ng-plugin/blob/master/doc/Documentation.md#creating-a-new-tool-in-the-user-interface
It says that you can have a Groovy parser, it just needs to be configured using the web interface. I also tried those instructions, but to no avail. (I'm sure it can't find the groovy script in the right place.)
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.
Ah gotcha. Let me take a quick crack at it.
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.
Sorry, I wasn't clear. I followed the instructions to run the Groovy script, but didn't add it via the web interface. Hopefully it does work!
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 added it via the web interface and pushed the change to the Jenkinsfile. Will it show up as working in this build or do we have to trigger some tests for it?
(fixing Jenkinsfile syntax - it changed a lot and apparently you can't scan the console log anymore, so we need to direct to a file).
50b8399
to
0d37b4d
Compare
a2ca0c2
to
659852f
Compare
659852f
to
6864e74
Compare
You'll need to add something to trigger it. I've been including a rev
header into stan/math/prim/scale.hpp as a single commit so I can back it
out easily.
…On Fri, Feb 1, 2019 at 4:18 PM seantalts ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In Jenkinsfile
<#1107 (comment)>:
> @@ -127,8 +127,8 @@ pipeline {
}
post {
always {
- warnings consoleParsers: [[parserName: 'CppLint']], canRunOnFailed: true
- warnings consoleParsers: [[parserName: 'math-dependencies']], canRunOnFailed: true
+ recordIssues enabledForFailure: true, tool: cppLint()
+ warnings consoleParsers: [[parserName: 'math-dependencies']], canRunOnFailed: true
I added it via the web interface and pushed the change to the Jenkinsfile.
Will it show up as working in this build or do we have to trigger some
tests for it?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#1107 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAZ_F1ioLz8fdY8uIw3YzO8T7OzgqTeAks5vJK8wgaJpZM4aODuI>
.
|
Nice! |
3232ec1
to
037c938
Compare
037c938
to
8ad02f2
Compare
Okay, I think I'm done messing with the branch. I think the math-dependencies are added in a decent way (though it's a little ugly to get output & exit status while logging to a file so the parser can read it, which I read was necessary but didn't experiment with). |
warnings consoleParsers: [[parserName: 'math-dependencies']], canRunOnFailed: true | ||
recordIssues enabledForFailure: true, tools: | ||
[cppLint(), | ||
groovyScript(parserId: 'mathDependencies', pattern: '**/dependencies.log')] |
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.
Awesome!
Thanks for figuring that out! It's passed tests. When you get a chance, mind reviewing and merging if you think it's ready? |
Summary
This PR does 3 things.
develop
. These errors are instan/math/prim/scal/meta/StdVectorBuilder.hpp
where it pulls anarr
header intoscal
. This was fixed by splitting the template metaprogram's base class intoprim
(and adding a test for that).make test-math-dependencies
so that it:std::vector
andEigen::Matrix
within comments.math-dependencies
is still using the old warnings plugin (that's been deprecated) because the mechanism for adding groovy scripts to parse is no longer supported except through the web interface. I figured it's just as well that we leave it as-is.Tests
The code for
contains_std_vector.hpp
has been tested with a new unit test in prim. It just makes sure the base case is correct.For the makefile, I've been running it by hand. When there are no errors, it exits with code 0, if there are errors, it exits with a non-zero return code. I've observed the Jenkins build failing due to warnings and that's our intended effect.
Side Effects
None.
Checklist
Math issue Jenkins: turn test-math-dependencies warnings into PR failures. #1078
Copyright holder:
Generable
the basic tests are passing
./runTests.py test/unit
)make test-headers
)make doxygen
)make cpplint
)the code is written in idiomatic C++ and changes are documented in the doxygen
the new changes are tested