NIWeek 2017 – Automated Test of LabVIEW FPGA Code: CI and Jenkins 2 Pipelines
At NIWeek 2017 in the Advanced Users track, I delivered a session on developing and executing unit tests for LabVIEW FPGA code. This included automated execution of the unit tests by Jenkins upon submission to Perforce Helix. Thanks to Jianhua Liu for being an excellent partner and all who attended!
I didn’t get a chance to discuss Jenkins pipelines as much as I wanted due to time and perhaps I’ll have an entire session at the CLA summit since this is quite the hot topic when it comes to continuous integration and continuous delivery.
In all, there were four sessions at NIWeek 2017 on either Continuous Integration and Continuous Delivery (most ever!). It was great to help spread the word on LabVIEW-CLI resulting in the NI DCAF team adopting this in their build process. I also had an opportunity to discuss the future of build tools for NXG and FPGA with the NI R&D team. There was excellent discussion on current build tools such as the LabVIEW-CLI and the vision as more teams head down this path.
In this session, I used Docker to spin up instances of Jenkins and Perforce on my laptop. The reference I used for getting started with Docker is https://engineering.riotgames.com/news/putting-jenkins-docker-container.
The official docker image for Jenkins is jenkinsci/jenkins.
The perforce helix image I used is twilliams/helix-p4d.
Source code including unit tests is available on Github at https://github.com/chinghwayu/NIWeek2017-Automated-Test-of-LabVIEW-FPGA-Code.
I hope you found this useful!