Jenkinsfile for building, testing, packaging Aseba
This Jenkinsfile allows Aseba to be added as a multi branch project on any Jenkins platform whose build agents meet the prerequisites. Its goal is to automate testing of branches and pull requests in a development environment.
Builds are parameterized by a choice of Dashel and Enki branches (default: master), and whether or not to do packaging, which requires a rebuild and is not appropriate for PR testing.
-
Check out and build each branch in a separate workspace (cmake, make, make install) -
Check out and recompile Dashel and Enki -
Run a selection of tests (ctest) -
If on a Debian node, build .deb package -
Archive artifacts on the Jenkins server -
Run parallel steps across operating systems -
Upload artifacts to a web site using credentials binding
Prerequisites: Jenkins Pipeline Model Definition plugin, aseba-jenkins global library.
See buildfarm in davidjsherman/aseba-jenkins for tools and instructions for configuring Jenkins build agents that can run this Jenkinsfile, either on an existing platform or in a Jenkins Docker container.
See Creating an Aseba project in Jenkins for brief instructions about configuring a multi branch project for Aseba, that can also update badges on GitHub pull requests.