DA EN

CI/CD and AI for LabVIEW and TestStand

What actually works right now – my talk at T&M days 2026

On 3 November I gave the talk CI/CD and AI for LabVIEW and TestStand – What actually works right now at T&M days at Scandic Kodbyen in Copenhagen, just before NORDLUG. Here is the short version.

Download the slides as PDF (32 slides, 1.3 MB). The videos from the talk are below.

The two topics belong together. CI/CD builds and checks the code automatically. AI writes code that needs checking. Each makes the other more useful.

CI/CD in six steps

The pipeline runs in GitLab on a Windows VM with LabVIEW and TestStand installed. A commit starts it – nobody logs in to a build PC.

  1. Checkout – a self-hosted GitLab runner fetches the code. Lesson learned: keep the build path short (builds_dir = C:\b). GitLab's build folders plus deep LabVIEW paths quickly pass the 260-character limit, and the errors say nothing about paths.
  2. Analyse – documentation, diff report, VI Analyzer and unit tests, all from NI's LabVIEW CI/CD Toolkit, with the results on its CI Dashboard.
  3. Build LabVIEW – packed libraries in dependency order, with the LabVIEW CLI. The CLI has built-in operations such as MassCompile, ExecuteBuildSpec, RunVIAnalyzer, RunUnitTests and CreateComparisonReport – and you can add your own.
  4. Build TestStand – the sequence files are pointed at the freshly built PPLs and at firmware and other files. Today a LabVIEW step does this through the TestStand API; with the sequence saved as XML it would be a plain text replace. Lesson learned: native DLLs that work in development can go missing under the TestStand runtime – copy the helper DLLs into the deployment.
  5. Upload to WATS – a draft package in WATS gives the package number, the version (merge request + package number) is stamped into the .seq file, tags make sure it installs on the right machines, and the package is uploaded. Every unit in production traces back to the merge request that built it.
  6. Save results – docs, reports and logs are kept with the run, and the right people get an email.

Every commit runs the quick steps: checkout, analyse and save results. A merge request runs the whole chain.

If you have no pipeline yet, start small: Git, then the LabVIEW CLI, then VI Analyzer. All three run on your own PC – no build server needed.

AI and LabVIEW

A VI is a binary file. Can an AI read it at all? The answer has changed several times in the last few weeks alone:

  • Two weeks ago Claude used pylabview to turn a VI into XML. LVkit is built on pylabview and shows VIs in VS Code – with describe, diff, document and an MCP server for AI agents.
  • Now Claude writes its own small parser for the VI format, about 40 lines of Python, and reads the file directly. Same VI, different tool.
  • To change a VI, the AI has to use LabVIEW itself. Zühlke's LabVIEW MCP server gives it access through MCP (Model Context Protocol), and now also uses pylabview to read and write VIs directly.
Claude reads a VI with only its built-in tools – no LabVIEW – and draws the front panel and block diagram. Sped up; the clock in the corner shows the real time.

NI's own assistant, Nigel, built a tic-tac-toe game as a VI. It worked – on attempt seven.

Nigel’s tic-tac-toe VI – attempt seven.

TestStand is easier to get at. There are three routes: small changes straight in the sequence file as XML, the TestStand API from Python, which is the robust one, or Zühlke's MCP server (32-bit only). In the talk I showed one prompt that produced a complete TestStand test with LabVIEW code modules – run, with a report.

One prompt: a TestStand test for a simulated 5 V power supply, with LabVIEW code modules – run, with a report. Sped up; the clock in the corner shows the real time.

Status on 3 November 2026

  • Works: the CI Dashboard with docs, diffs, VI Analyzer and unit tests. Claude reads, writes and modifies LabVIEW and TestStand code. One prompt gives a complete, running TestStand test or LabVIEW application.
  • Half-works: modifying large, complex VIs. Nigel writing LabVIEW code. Style and cleanup could be better.
  • Not yet: an LLM writing .seq files from scratch as text. Nigel with event structures, subVIs and the like.

My conclusion: LabVIEW and TestStand are close to working with AI like any text-based language. An example from a customer: the change was planned in the car, implemented by the time I arrived, and went to production after review and test.

On customer projects I always ask first. Some customers say yes to everything, some want me to use their own subscription, and some say no. It is the customer's choice.

Thank you

The talk builds on other people's good work. Thanks to Elijah Kerry, Anton Sundqvist, Jonathan Graesser and Jean-Claude Mengisen.

Next NORDLUG

NORDLUG #9 is online on Teams, Tuesday 8 December 2026, 15:00–17:30 – register here. NORDLUG #10 is Tuesday 9 February 2027, 15:00–18:30, in person in Oslo, Stockholm and Copenhagen, and online.

Slides and links from the talk are on sekanina.dk/TM26. And yes – we are hiring.

Getting started with CI/CD or AI for LabVIEW?

We help with build pipelines and with bringing AI into your LabVIEW and TestStand work.

Contact us