Embracing Continuous Integration for LabVIEW TestStand Projects
After months of advocating for improved control and audit readiness in our software releases, our proposal to introduce a CI pipeline for all production test software (built on the LabVIEW TestStand platform) has been approved! This marks a significant milestone in customer’s journey towards more robust, reliable, and compliant software development practices.
The need for a CI pipeline became evident through various challenges we encountered with manual processes and fragmented workflows. To illustrate the CI pipeline, the process begins with developers working on their local machines, setting the local experimental builds v0.0.0 to clearly distinguish it as a development version. Upon committing changes to Bitbucket, the build server pulls these changes and updates the change log with commit messages. The build server then builds the project using the build number from Bitbucket and increments version numbers based on commit keywords like “Major” “Minor” and “Fix”. This process provides the desired control over versioning. If successful, artifacts are zipped and uploaded to the project repository, ready for release. If any issues arise, developers are promptly email notified from Bitbucket for quick resolution.
In the initial stages, I trialed the CI pipeline on a few of my own projects to demonstrate its benefits. The results were promising: we observed smoother integrations, fewer bugs, and a faster turnaround in getting new features and fixes into production. One of the key successes was applying the CI pipeline to a core test framework, which significantly improved our deployment process and reassured our customer of our commitment to quality and efficiency.
With the successful trial, management has given the green light for a full roll-out. Implementing this CI pipeline will streamline our customer’s workflows and enhance our software’s reliability.
Ajay is a professional developer and architect of NI-LabVIEW applications with extreme interest in getting the hardware connected to LabVIEW and automating the stuff. Recently he is also putting his hands in NI-TestStand to get very dirty on it. He is also a good mentor for the various interns in his career. He is ready to help the people in techie roles.