You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Validate that every file on disk that should live in a LabVIEW project actually appears in the .lvproj.
The check is executed as the first step in your CI pipeline so the run fails fast and you never ship a package or run a unit test with a broken project file.
Internally the action launches the MissingInProjectCLI.vi utility (checked into the same directory) through g‑cli.
Results are returned as standard GitHub Action outputs so downstream jobs can decide what to do next (for example, post a comment with the missing paths).
Must match the numeric version you pass in lv-ver.
g‑cli in PATH
The action calls g-cli --lv-ver …. Install via VIPM (JKI) or copy the executable into the runner image.
PowerShell 7
Composite steps use PowerShell Core (pwsh).
Inputs
Name
Required
Example
Description
lv-ver
Yes
2021
LabVIEW major version number that should be used to run MissingInProjectCLI.vi
arch
Yes
32 or 64
Bitness of the LabVIEW runtime to launch
repo-root
Yes
${{ github.workspace }}
Absolute path to the repository root. Relative paths are resolved against this.
project-file
No
source/MyPlugin.lvproj
Path (absolute or relative to repo-root) of the project to inspect. Defaults to lv_icon_editor.lvproj
Outputs
Name
Type
Meaning
passed
true | false
true when no missing files were detected and the VI ran without error
missing-files
string
Comma‑separated list of relative paths that are absent from the project (empty on success)
Quick-start
# .github/workflows/ci-composite.yml (excerpt)jobs:
prepare:
runs-on: self-hosted-windows-lv-iesteps:
- name: Check out repositoryuses: actions/checkout@v4
- name: Verify no files are missing from the projectid: mipuses: ./.github/actions/missing-in-projectwith:
lv-ver: 2021arch: 64repo-root: ${{ github.workspace }}
- name: Print reportif: ${{ steps.mip.outputs.passed == 'false' }}run: echo "Missing: ${{ steps.mip.outputs['missing-files'] }}"
Example: Fail-fast workflow
If you want any missing file to abort the pipeline immediately, place the step in an independent job at the top of your DAG and let every other job depend on it: