open-source

Open Source LabVIEW Actions

Open Source LabVIEW Actions unifies LabVIEW CI/CD scripts behind a single PowerShell dispatcher. Most users should call the adapter-specific GitHub Actions (for example run-unit-tests) directly in workflows. The dispatcher script (actions/Invoke-OSAction.ps1) remains available for CLI scenarios. Adapter implementations live under scripts, and each wrapper resides in its own folder at the repository root. Discovery commands (-ListActions and -Describe) and standard exit codes are preserved, and -DryRun is supported for safe previews on Windows or Linux runners with LabVIEW and g-cli available.

Get Started

Action Reference

Action Purpose
add-token-to-labview Add a custom library path token to the LabVIEW INI file so LabVIEW can locate project libraries.
apply-vipc Apply a VI Package Configuration (.vipc) file to a specific LabVIEW installation using g-cli.
build Automate building the LabVIEW Icon Editor project, including cleaning, building libraries, and packaging.
build-lvlibp Build a LabVIEW project’s build specification into a Packed Project Library (.lvlibp).
build-vi-package Update VIPB display information and build a VI package using g-cli.
close-labview Gracefully close a running LabVIEW instance via g-cli.
generate-release-notes Generate release notes from the git history and write them to a markdown file.
missing-in-project Check that all files in a LabVIEW project are present by scanning for items missing from the .lvproj.
modify-vipb-display-info Update display information in a VIPB file and rebuild the VI package.
prepare-labview-source Run PrepareIESource.vi via g-cli to unzip components and configure LabVIEW for building.
rename-file Rename a file if it exists.
restore-setup-lv-source Restore the LabVIEW source setup by unzipping the LabVIEW Icon API and removing the INI token.
revert-development-mode Restore the repository from development mode by restoring packaged sources and closing LabVIEW.
run-pester-tests Run PowerShell Pester tests in a repository.
run-unit-tests Run LabVIEW unit tests via the LabVIEW Unit Test Framework CLI and report pass/fail/error using standard exit codes.
set-development-mode Configure the repository for development mode by removing packed libraries, adding tokens, preparing sources, and closing LabVIEW.
setup-mkdocs Install a pinned MkDocs with caching.

Workflow Examples

Workflow Purpose
add-token-to-labview Add a custom library path token to the LabVIEW INI file so LabVIEW can locate project libraries.
apply-vipc Apply a VI Package Configuration (.vipc) file to a specific LabVIEW installation using g-cli.
build-lvlibp Build a LabVIEW project’s build specification into a Packed Project Library (.lvlibp).
build-vi-package Update VIPB display information and build a VI package using g-cli.
build Automate building the LabVIEW Icon Editor project, including cleaning, building libraries, and packaging.
close-labview Gracefully close a running LabVIEW instance via g-cli.
generate-release-notes Generate release notes from the git history and write them to a markdown file.
missing-in-project Check that all files in a LabVIEW project are present by scanning for items missing from the .lvproj.
modify-vipb-display-info Update display information in a VIPB file and rebuild the VI package.
prepare-labview-source Run PrepareIESource.vi via g-cli to unzip components and configure LabVIEW for building.
rename-file Rename a file if it exists.
restore-setup-lv-source Restore the LabVIEW source setup by unzipping the LabVIEW Icon API and removing the INI token.
revert-development-mode Restore the repository from development mode by restoring packaged sources and closing LabVIEW.
run-pester-tests Run PowerShell Pester tests in a repository.
run-unit-tests Run LabVIEW unit tests via the LabVIEW Unit Test Framework CLI and report pass/fail/error using standard exit codes.
set-development-mode Configure the repository for development mode by removing packed libraries, adding tokens, preparing sources, and closing LabVIEW.
setup-mkdocs Install a pinned MkDocs with caching.