This document provides a collection of common troubleshooting scenarios (with solutions) and a FAQ (Frequently Asked Questions) for the LabVIEW Icon Editor GitHub Actions workflows. Refer back to the main CI guide if you need overall setup instructions or deeper references.
.vip Artifact Found.vip Files to a Release?develop?Below are 14 possible issues you might encounter, along with suggested steps to resolve them.
Symptoms:
Possible Causes:
Solution:
runner-setup-guide.md for details on configuring the runner to locate LabVIEW..vip Artifact FoundSymptoms:
Possible Causes:
Build.ps1 script didn’t actually produce a .vip file in the expected folder.Solution:
.vip file was created.builds/VI Package/, ensure the upload step references that folder.Symptoms:
Possible Causes:
major, minor, patch). Typos or different capitalization might be ignored.Solution:
major, minor, or patch in lowercase (unless your workflow script also checks for capitalized labels)..github/actions/compute-version).Symptoms:
Possible Causes:
fetch-depth in actions/checkout might be set to 1, causing an incomplete commit history.git rev-list --count HEAD, but partial history returns a smaller number.Solution:
fetch-depth: 0 (full history).git rev-list --count command.Symptoms:
.vip.Possible Causes:
Set_Development_Mode.ps1 script.Solution:
mode=disable.Symptoms:
Possible Causes:
Solution:
Symptoms:
main or release-alpha/*; GitHub says “Branch is protected.”Possible Causes:
issue-status job determined the branch name or issue status was invalid, so downstream checks were skipped.Solution:
issue-status – verifies branch naming and issue status. If it fails or is skipped, downstream jobs won’t run.changes – detects .vipc file changes.apply-deps – applies VIPC dependencies when needed.missing-in-project – validates project file membership.Run Unit Tests – executes unit tests.Build VI Package – produces the .vip artifact.CONTRIBUTING.md to specify the merging rules so contributors know what’s needed.Symptoms:
-beta.<N> suffix, but got -alpha.<N> or no suffix at all.Possible Causes:
release-beta/*.Solution:
release-beta/2.0, release-rc/2.0, etc.Symptoms:
Possible Causes:
hotfix/* like another pre-release branch if not configured properly.hotfix/ (e.g., hotfix-2.0 without a slash).Solution:
hotfix/ prefix, not hotfix-.Symptoms:
Possible Causes:
-SupportedBitness 64).lv-ver or arch, so passing --lv-ver or --arch triggers a parsing error.Solution:
--lv-ver and --arch with valid single-dash parameters your script actually declares, such as -LabVIEWVersion 2021 and -SupportedBitness 64.--lv-ver, you must update the script’s param() block to accept that alias.Symptoms:
.vip file’s metadata for “Company Name” or “Author Name (Person or Company)” remains empty.Possible Causes:
-CompanyName or -AuthorName to the Build.ps1 script.Solution:
-CompanyName "XYZ Corp" and -AuthorName "my-org/repo".$DisplayInformationJSON includes these fields.Symptoms:
Package Version keys get overwritten unexpectedly.Possible Causes:
-Force.Solution:
Add-Member -Force (though recommended approach is to check existence first).Symptoms:
.vip file still shows the original repo or organization name.Possible Causes:
-CompanyName / -AuthorName.Solution:
-CompanyName "$" and -AuthorName "$".Symptoms:
-593450 (enable) or -593451 (disable), and the VI error source string prints a comma-separated list of missing paths.Possible Causes:
Solution:
Symptoms:
missing_IE_paths.txt file.Possible Causes:
LabVIEW Icon API or lv_icon.lvlibp).Solution:
missing_IE_paths.txt.Below are 14 frequently asked questions about the CI workflow and Gitflow process.
Answer:
By default, the workflow calculates the build number with git rev-list --count HEAD. This ensures sequential builds. If you want a custom offset or manual override, you’d need to modify the build script. However, that breaks the linear progression and isn’t recommended.
Answer: The composite pipeline only uploads artifacts and does not create GitHub releases automatically. Create releases manually through the GitHub interface or set up a separate workflow dedicated to publishing them.
Answer:
Yes, you can add logic for release-gamma/* or any naming scheme. Just update the portion of your workflow that checks branch names and appends the appropriate suffix.
.vip Files to a Release?Answer:
Modify the artifact collection or upload steps to match multiple .vip patterns (e.g., *.vip). Then, in the “Attach Artifacts” step, loop over all matches and upload each.
develop?Answer:
Yes. In standard Gitflow, after merging a hotfix/* into main, you also merge it back into develop so that your fix is reflected in ongoing development. Otherwise, you risk reintroducing the bug in future releases.
Answer: The composite pipeline doesn’t create releases, so draft releases are not generated. If you require a draft or published release, create it manually or configure a separate workflow to handle release creation.
Answer:
Technically yes, if you don’t rely on alpha/beta/rc branch naming. But the workflow is designed with Gitflow in mind, so some features (like pre-release suffix detection) might not apply if you only have main.
Answer:
The Dev Mode Toggle scripts rely on a self-hosted runner context. If you’re trying to run them directly on your machine outside GitHub Actions, you might need to adapt the PowerShell scripts or replicate the environment variables. Check logs to see if your system path matches what the scripts expect.
Answer:
CI usage is standardized on LabVIEW 2021 (21.0), 32-bit and 64-bit. Other versions aren’t supported for the default workflows. If you want to use a different version locally, you’ll need to fork and update the scripts/workflows to match that version.
Answer:
Inside GitHub Actions, you can reference environment variables such as $ and $. Set them first in your workflow step and then pass them to your script:
env:
REPO_OWNER: $
REPO_NAME: $
run: |
.\build_vip.ps1 -CompanyName "$env:REPO_OWNER" -AuthorName "$env:REPO_NAME"
$ returns owner/repo, so it isn’t suitable for the author field. Using the separate owner and repository values ensures your build is branded correctly when DisplayInformationJSON is injected by build_vip.ps1.
Answer:
Yes. If you don’t want to display them, pass empty strings (-CompanyName "" -AuthorName "") or remove those fields from your script’s JSON object. The final .vip file will simply show blank lines or omit those entries.
Answer:
PowerShell named parameters typically start with a single dash (-Parameter). Double-dash syntax (--param) is common in Linux CLI tools but is not standard in a typical PowerShell param() declaration. If you try to pass --arch or --lv-ver, you’ll get an error about an unrecognized parameter.
Answer:
Absolutely. You can modify $jsonObject in your script to include new keys, such as "Product Description" or "Special Internal ID". Just be sure that the VI that updates the .vipb file (Modify_VIPB_Display_Information.vi) knows how to handle those additional fields, or they might be ignored.