Skip to content
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

Run CI/CD only on Source Code #1724

Merged
merged 7 commits into from
Feb 20, 2020
Merged

Run CI/CD only on Source Code #1724

merged 7 commits into from
Feb 20, 2020

Conversation

serban-nicusor-toptal
Copy link
Contributor

@serban-nicusor-toptal serban-nicusor-toptal commented Feb 18, 2020

Summary

Jenkins will now skip ci/cd pipeline if source code file paths defied in the Jenkinsfile do not have changes.

Checklist

  • Math issue [proposal] Stop using the wiki and make pages on the new site #1658

  • Copyright holder: (fill in copyright holder information)

    The copyright holder is typically you or your assignee, such as a university or company. By submitting this pull request, the copyright holder is agreeing to the license the submitted work under the following licenses:
    - Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
    - Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

  • the basic tests are passing

    • unit tests pass (to run, use: ./runTests.py test/unit)
    • header checks pass, (make test-headers)
    • dependencies checks pass, (make test-math-dependencies)
    • docs build, (make doxygen)
    • code passes the built in C++ standards checks (make cpplint)
  • the code is written in idiomatic C++ and changes are documented in the doxygen

  • the new changes are tested

@stan-buildbot
Copy link
Contributor


Name Old Result New Result Ratio Performance change( 1 - new / old )
gp_pois_regr/gp_pois_regr.stan 5.0 4.92 1.02 1.56% faster
low_dim_corr_gauss/low_dim_corr_gauss.stan 0.02 0.02 1.0 -0.41% slower
eight_schools/eight_schools.stan 0.09 0.09 1.02 2.23% faster
gp_regr/gp_regr.stan 0.22 0.22 1.0 -0.44% slower
irt_2pl/irt_2pl.stan 6.11 6.04 1.01 1.23% faster
performance.compilation 88.34 87.03 1.01 1.47% faster
low_dim_gauss_mix_collapse/low_dim_gauss_mix_collapse.stan 7.5 7.46 1.01 0.51% faster
pkpd/one_comp_mm_elim_abs.stan 21.1 21.19 1.0 -0.47% slower
sir/sir.stan 90.61 89.89 1.01 0.79% faster
gp_regr/gen_gp_data.stan 0.05 0.05 0.96 -3.76% slower
low_dim_gauss_mix/low_dim_gauss_mix.stan 3.0 3.0 1.0 -0.15% slower
pkpd/sim_one_comp_mm_elim_abs.stan 0.31 0.32 0.98 -2.43% slower
arK/arK.stan 1.74 1.74 1.0 0.1% faster
arma/arma.stan 0.79 0.79 1.0 0.17% faster
garch/garch.stan 0.58 0.58 1.0 -0.14% slower
Mean result: 1.00039196213

Jenkins Console Log
Blue Ocean
Commit hash: 470d408


Machine information ProductName: Mac OS X ProductVersion: 10.11.6 BuildVersion: 15G22010

CPU:
Intel(R) Xeon(R) CPU E5-1680 v2 @ 3.00GHz

G++:
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin15.6.0
Thread model: posix

Clang:
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin15.6.0
Thread model: posix

Copy link
Member

@rok-cesnovar rok-cesnovar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks really great, just a few details to hash out.

I played around with this in #1725 to confirm.

Jenkinsfile Outdated Show resolved Hide resolved
Jenkinsfile Outdated Show resolved Hide resolved
Jenkinsfile Show resolved Hide resolved
Switch to using `CHANGE_TARGET` environment variable instead of hardcoded develop.
Copy link
Member

@rok-cesnovar rok-cesnovar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Looks great.

@mcol
Copy link
Contributor

mcol commented Feb 19, 2020

Just to confirm: would the upload doxygen step be skipped with this or not? I think we would like it to happen, right?

@serban-nicusor-toptal
Copy link
Contributor Author

Hey @mcol ,

The Upload Doxygen was defined to happen only on develop, see here
Let me know if that should be changed.

@rok-cesnovar
Copy link
Member

It would not be skipped as that stage stayed the same. This wasnt tested because it only happens on develop.

@mcol
Copy link
Contributor

mcol commented Feb 19, 2020

OK, thanks I couldn't figure it out looking at the patch or at the Jenkins logs. :)

@mcol
Copy link
Contributor

mcol commented Feb 19, 2020

The upstream test have failed, hopefully it's unrelated.

@rok-cesnovar
Copy link
Member

Its not related to this but the cmdstan PR for the same CI source code thing stan-dev/cmdstan#824

Something is different regarding tests on develop I guess.

@rok-cesnovar
Copy link
Member

@serban-nicusor-toptal do we need the same fix as on cmdstan here?

@serban-nicusor-toptal
Copy link
Contributor Author

Yes and I found something else, I will update this PR after a fix on cmdstan.

Copy link
Member

@rok-cesnovar rok-cesnovar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing the approval so this doesnt get merged accidentally

Jenkinsfile now reflects changes made on cmdstan after finding a bug.
@stan-buildbot
Copy link
Contributor


Name Old Result New Result Ratio Performance change( 1 - new / old )
gp_pois_regr/gp_pois_regr.stan 4.86 4.92 0.99 -1.12% slower
low_dim_corr_gauss/low_dim_corr_gauss.stan 0.02 0.02 0.97 -2.81% slower
eight_schools/eight_schools.stan 0.09 0.09 1.01 0.83% faster
gp_regr/gp_regr.stan 0.22 0.22 1.01 0.97% faster
irt_2pl/irt_2pl.stan 6.09 6.06 1.0 0.46% faster
performance.compilation 88.22 87.21 1.01 1.14% faster
low_dim_gauss_mix_collapse/low_dim_gauss_mix_collapse.stan 7.32 7.3 1.0 0.33% faster
pkpd/one_comp_mm_elim_abs.stan 20.67 21.78 0.95 -5.39% slower
sir/sir.stan 91.37 92.55 0.99 -1.29% slower
gp_regr/gen_gp_data.stan 0.04 0.05 0.98 -2.4% slower
low_dim_gauss_mix/low_dim_gauss_mix.stan 2.99 2.99 1.0 -0.07% slower
pkpd/sim_one_comp_mm_elim_abs.stan 0.32 0.31 1.02 2.21% faster
arK/arK.stan 1.83 1.73 1.05 5.16% faster
arma/arma.stan 0.78 0.77 1.02 1.55% faster
garch/garch.stan 0.52 0.52 1.0 -0.0% slower
Mean result: 1.00027121198

Jenkins Console Log
Blue Ocean
Commit hash: 23088c3


Machine information ProductName: Mac OS X ProductVersion: 10.11.6 BuildVersion: 15G22010

CPU:
Intel(R) Xeon(R) CPU E5-1680 v2 @ 3.00GHz

G++:
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin15.6.0
Thread model: posix

Clang:
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin15.6.0
Thread model: posix

@rok-cesnovar rok-cesnovar merged commit 7aefef1 into develop Feb 20, 2020
@rok-cesnovar rok-cesnovar deleted the skip-nonsc-cicd branch February 20, 2020 16:24
@rok-cesnovar
Copy link
Member

This works great! One more minor left to do is to also skip the merge tests. It isnt a big deal but since we are already doing this.
See https://jenkins.mc-stan.org/blue/organizations/jenkins/Math%20Pipeline/detail/develop/568/pipeline

@serban-nicusor-toptal
Copy link
Contributor Author

Should we skip Upload doxygen too ?

@rok-cesnovar
Copy link
Member

No, doxygen changes should get pushed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants