[petsc-dev] PETSc goes Jenkins
Karl Rupp
rupp at iue.tuwien.ac.at
Thu Jul 19 20:35:25 CDT 2018
Hi all,
we now have a first step towards full continuous integration via Jenkins
completed. Thus, every new pull request that is (re-)based on a commit
in master not older than today will be automatically tested with a
subset of common tests that are intended to expose the most frequent
issues. This, in particular, includes configurations with 64 bit
integers as well as complex arithmetic.
The integration of Jenkins into Bitbucket is smooth: You will notice on
our demo pull request
https://bitbucket.org/petsc/petsc/pull-requests/1039/jenkinsfile-for-build-pipelines-tied-to/diff
that on the right it says "3 of 3 builds passed". If you click on the
link, you will get further details on the individual builds and find
further links to the test output stored on the Jenkins server.
Implications on our development workflow: Currently 'next' gets (ab)used
for all kinds of portability tests. As a consequence, every buggy merge
clogs the whole integration pipeline, making it hard to integrate other
PRs. With the Jenkins server in place, all pull requests will receive a
good share of portability testing *before* they reach next. This reduces
the burden on next, (hopefully) leading to faster code integration.
Corollary: I strongly encourage all PETSc developers to use issue pull
requests rather than merging to next directly (use your own judgment for
exceptions!).
Please note that we are still fine-tuning various aspects of the Jenkins
infrastructure (location of the Jenkins server, which test nodes to use,
which configurations to test, etc.). Most of these things are changes
under the hood, though. If something still bubbles up and causes the
testing to choke, please be considerate with us ;-)
Finally, I'd like to explicitly thank Alp Dener for his help on getting
Jenkins to run smoothly. Any credit should go to him.
Best regards,
Karli
More information about the petsc-dev
mailing list