diff --git a/actions/Invoke-OSAction.ps1 b/actions/Invoke-OSAction.ps1 index 388ee1e2..3fe23a07 100644 --- a/actions/Invoke-OSAction.ps1 +++ b/actions/Invoke-OSAction.ps1 @@ -24,9 +24,9 @@ $FallbackRegistry = [ordered]@{ 'apply-vipc' = 'Invoke-ApplyVIPC' 'build' = 'Invoke-Build' 'build-lvlibp' = 'Invoke-BuildLvlibp' - 'build-lvlibp-docker-linux' = 'Invoke-BuildLvlibpDockerLinux' - 'build-lvlibp-docker-windows' = 'Invoke-BuildLvlibpDockerWindows' - 'build-lvlibp-github-hosted-windows' = 'Invoke-BuildLvlibpGithubHostedWindows' + 'build-spec-docker-linux' = 'Invoke-BuildSpecDockerLinux' + 'build-spec-docker-windows' = 'Invoke-BuildSpecDockerWindows' + 'build-spec-github-hosted-windows' = 'Invoke-BuildSpecGithubHostedWindows' 'build-vi-package' = 'Invoke-BuildViPackage' 'close-labview' = 'Invoke-CloseLabVIEW' 'generate-release-notes' = 'Invoke-GenerateReleaseNotes' diff --git a/actions/OpenSourceActions.psd1 b/actions/OpenSourceActions.psd1 index d5ef1a88..a9e703b0 100644 --- a/actions/OpenSourceActions.psd1 +++ b/actions/OpenSourceActions.psd1 @@ -15,9 +15,9 @@ 'Invoke-ApplyVIPC' 'Invoke-Build' 'Invoke-BuildLvlibp' - 'Invoke-BuildLvlibpDockerLinux' - 'Invoke-BuildLvlibpDockerWindows' - 'Invoke-BuildLvlibpGithubHostedWindows' + 'Invoke-BuildSpecDockerLinux' + 'Invoke-BuildSpecDockerWindows' + 'Invoke-BuildSpecGithubHostedWindows' 'Invoke-BuildViPackage' 'Invoke-CloseLabVIEW' 'Invoke-ConfigureLabview' diff --git a/actions/OpenSourceActions.psm1 b/actions/OpenSourceActions.psm1 index 99ee69de..fd12abd9 100644 --- a/actions/OpenSourceActions.psm1 +++ b/actions/OpenSourceActions.psm1 @@ -228,7 +228,7 @@ function Invoke-BuildLvlibp { return Invoke-OpenSourceActionScript -ScriptSegments @('build-lvlibp','Build_lvlibp.ps1') -Arguments $args -DryRun:$DryRun -gcliPath $gcliPath } -# Builds LabVIEW Packed Project Library (.lvlibp) using Linux Docker container. +# Builds LabVIEW build specification using Linux Docker container. # MinimumSupportedLVVersion: LabVIEW version for the build (e.g., "2021", "2026"). # SupportedBitness: Bitness of the LabVIEW environment ("32" or "64"). # ProjectPath: Path to the LabVIEW project .lvproj file. @@ -243,7 +243,7 @@ function Invoke-BuildLvlibp { # ImageTag: Docker image tag (defaults to "2026q1-linux"). # DryRun: If set, prints the command instead of executing it. # gcliPath: Optional path prepended to PATH for locating the g CLI. -function Invoke-BuildLvlibpDockerLinux { +function Invoke-BuildSpecDockerLinux { [CmdletBinding()] param( [Parameter(Mandatory)] [string] $MinimumSupportedLVVersion, @@ -261,10 +261,10 @@ function Invoke-BuildLvlibpDockerLinux { [switch] $DryRun, [string] $gcliPath ) - Write-Information "Invoking BuildLvlibpDockerLinux" -InformationAction Continue + Write-Information "Invoking BuildSpecDockerLinux" -InformationAction Continue $result = Invoke-OpenSourceActionScript ` - -ScriptSegments @('build-lvlibp-docker-linux', 'BuildLvlibpDockerLinux.ps1') ` + -ScriptSegments @('build-spec-docker-linux', 'BuildSpecDockerLinux.ps1') ` -Arguments @{ MinimumSupportedLVVersion = $MinimumSupportedLVVersion SupportedBitness = $SupportedBitness @@ -285,7 +285,7 @@ function Invoke-BuildLvlibpDockerLinux { return $result } -# Builds LabVIEW Packed Project Library (.lvlibp) using Windows Docker container. +# Builds LabVIEW build specification using Windows Docker container. # MinimumSupportedLVVersion: LabVIEW version for the build (e.g., "2021", "2026"). # SupportedBitness: Bitness of the LabVIEW environment ("32" or "64"). # ProjectPath: Path to the LabVIEW project .lvproj file. @@ -300,7 +300,7 @@ function Invoke-BuildLvlibpDockerLinux { # ImageTag: Docker image tag (defaults to "2026q1-windows"). # DryRun: If set, prints the command instead of executing it. # gcliPath: Optional path prepended to PATH for locating the g CLI. -function Invoke-BuildLvlibpDockerWindows { +function Invoke-BuildSpecDockerWindows { [CmdletBinding()] param( [Parameter(Mandatory)] [string] $MinimumSupportedLVVersion, @@ -318,10 +318,10 @@ function Invoke-BuildLvlibpDockerWindows { [switch] $DryRun, [string] $gcliPath ) - Write-Information "Invoking BuildLvlibpDockerWindows" -InformationAction Continue + Write-Information "Invoking BuildSpecDockerWindows" -InformationAction Continue $result = Invoke-OpenSourceActionScript ` - -ScriptSegments @('build-lvlibp-docker-windows', 'BuildLvlibpDockerWindows.ps1') ` + -ScriptSegments @('build-spec-docker-windows', 'BuildSpecDockerWindows.ps1') ` -Arguments @{ MinimumSupportedLVVersion = $MinimumSupportedLVVersion SupportedBitness = $SupportedBitness @@ -342,7 +342,7 @@ function Invoke-BuildLvlibpDockerWindows { return $result } -# Builds LabVIEW Packed Project Library (.lvlibp) using Windows GitHub-hosted runner. +# Builds LabVIEW build specification using Windows GitHub-hosted runner. # MinimumSupportedLVVersion: LabVIEW version for the build (e.g., "2021", "2026"). # SupportedBitness: Bitness of the LabVIEW environment ("32" or "64"). # ProjectPath: Path to the LabVIEW project .lvproj file. @@ -355,7 +355,7 @@ function Invoke-BuildLvlibpDockerWindows { # Commit: Commit hash or identifier (optional). # DryRun: If set, prints the command instead of executing it. # gcliPath: Optional path prepended to PATH for locating the g CLI. -function Invoke-BuildLvlibpGithubHostedWindows { +function Invoke-BuildSpecGithubHostedWindows { [CmdletBinding()] param( [Parameter(Mandatory)] [string] $MinimumSupportedLVVersion, @@ -371,10 +371,10 @@ function Invoke-BuildLvlibpGithubHostedWindows { [switch] $DryRun, [string] $gcliPath ) - Write-Information "Invoking BuildLvlibpGithubHostedWindows" -InformationAction Continue + Write-Information "Invoking BuildSpecGithubHostedWindows" -InformationAction Continue $result = Invoke-OpenSourceActionScript ` - -ScriptSegments @('build-lvlibp-github-hosted-windows', 'BuildLvlibpGithubHostedWindows.ps1') ` + -ScriptSegments @('build-spec-github-hosted-windows', 'BuildSpecGithubHostedWindows.ps1') ` -Arguments @{ MinimumSupportedLVVersion = $MinimumSupportedLVVersion SupportedBitness = $SupportedBitness diff --git a/artifacts/linux/action-docs.json b/artifacts/linux/action-docs.json index 2caf2774..778b61cc 100644 --- a/artifacts/linux/action-docs.json +++ b/artifacts/linux/action-docs.json @@ -196,8 +196,8 @@ } } }, - "Invoke-BuildLvlibpDockerLinux": { - "description": "Builds LabVIEW Packed Project Library (.lvlibp) using Linux Docker container. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., \"2021\", \"2026\"). SupportedBitness: Bitness of the LabVIEW environment (\"32\" or \"64\"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to \"My Computer\"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DockerImage: Docker image name (default: \"nationalinstruments/labview\"). ImageTag: Docker image tag (defaults to \"2026q1-linux\"). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI.", + "Invoke-BuildSpecDockerLinux": { + "description": "Builds LabVIEW build specification using Linux Docker container. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., \"2021\", \"2026\"). SupportedBitness: Bitness of the LabVIEW environment (\"32\" or \"64\"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to \"My Computer\"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DockerImage: Docker image name (default: \"nationalinstruments/labview\"). ImageTag: Docker image tag (defaults to \"2026q1-linux\"). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI.", "parameters": { "Build": { "type": "number", @@ -280,8 +280,8 @@ } } }, - "Invoke-BuildLvlibpDockerWindows": { - "description": "Builds LabVIEW Packed Project Library (.lvlibp) using Windows Docker container. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., \"2021\", \"2026\"). SupportedBitness: Bitness of the LabVIEW environment (\"32\" or \"64\"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to \"My Computer\"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DockerImage: Docker image name (default: \"nationalinstruments/labview\"). ImageTag: Docker image tag (defaults to \"2026q1-windows\"). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI.", + "Invoke-BuildSpecDockerWindows": { + "description": "Builds LabVIEW build specification using Windows Docker container. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., \"2021\", \"2026\"). SupportedBitness: Bitness of the LabVIEW environment (\"32\" or \"64\"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to \"My Computer\"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DockerImage: Docker image name (default: \"nationalinstruments/labview\"). ImageTag: Docker image tag (defaults to \"2026q1-windows\"). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI.", "parameters": { "Build": { "type": "number", @@ -364,8 +364,8 @@ } } }, - "Invoke-BuildLvlibpGithubHostedWindows": { - "description": "Builds LabVIEW Packed Project Library (.lvlibp) using Windows GitHub-hosted runner. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., \"2021\", \"2026\"). SupportedBitness: Bitness of the LabVIEW environment (\"32\" or \"64\"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to \"My Computer\"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI.", + "Invoke-BuildSpecGithubHostedWindows": { + "description": "Builds LabVIEW build specification using Windows GitHub-hosted runner. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., \"2021\", \"2026\"). SupportedBitness: Bitness of the LabVIEW environment (\"32\" or \"64\"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to \"My Computer\"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI.", "parameters": { "Build": { "type": "number", @@ -1346,7 +1346,7 @@ "type": "string" } ], - "build-lvlibp-docker-linux": [ + "build-spec-docker-linux": [ { "name": "minimum_supported_lv_version", "description": "LabVIEW version year for the build (e.g., \"2021\", \"2026\").", @@ -1384,28 +1384,28 @@ }, { "name": "major", - "description": "Major version component for the PPL. Omit to skip version setting.", + "description": "Major version component for the build specification. Omit to skip version setting.", "required": false, "default": "", "type": "string" }, { "name": "minor", - "description": "Minor version component for the PPL. Omit to skip version setting.", + "description": "Minor version component for the build specification. Omit to skip version setting.", "required": false, "default": "", "type": "string" }, { "name": "patch", - "description": "Patch version component for the PPL. Omit to skip version setting.", + "description": "Patch version component for the build specification. Omit to skip version setting.", "required": false, "default": "", "type": "string" }, { "name": "build", - "description": "Build number component for the PPL. Omit to skip version setting.", + "description": "Build number component for the build specification. Omit to skip version setting.", "required": false, "default": "", "type": "string" @@ -1453,7 +1453,7 @@ "type": "string" } ], - "build-lvlibp-docker-windows": [ + "build-spec-docker-windows": [ { "name": "minimum_supported_lv_version", "description": "LabVIEW version year for the build (e.g., \"2021\", \"2026\").", @@ -1491,28 +1491,28 @@ }, { "name": "major", - "description": "Major version component for the PPL. Omit to skip version setting.", + "description": "Major version component for the build specification. Omit to skip version setting.", "required": false, "default": "", "type": "string" }, { "name": "minor", - "description": "Minor version component for the PPL. Omit to skip version setting.", + "description": "Minor version component for the build specification. Omit to skip version setting.", "required": false, "default": "", "type": "string" }, { "name": "patch", - "description": "Patch version component for the PPL. Omit to skip version setting.", + "description": "Patch version component for the build specification. Omit to skip version setting.", "required": false, "default": "", "type": "string" }, { "name": "build", - "description": "Build number component for the PPL. Omit to skip version setting.", + "description": "Build number component for the build specification. Omit to skip version setting.", "required": false, "default": "", "type": "string" @@ -1560,7 +1560,7 @@ "type": "string" } ], - "build-lvlibp-github-hosted-windows": [ + "build-spec-github-hosted-windows": [ { "name": "minimum_supported_lv_version", "description": "LabVIEW version year for the build (e.g., \"2021\", \"2026\").", @@ -1598,28 +1598,28 @@ }, { "name": "major", - "description": "Major version component for the PPL. Omit to skip version setting.", + "description": "Major version component for the build specification. Omit to skip version setting.", "required": false, "default": "", "type": "string" }, { "name": "minor", - "description": "Minor version component for the PPL. Omit to skip version setting.", + "description": "Minor version component for the build specification. Omit to skip version setting.", "required": false, "default": "", "type": "string" }, { "name": "patch", - "description": "Patch version component for the PPL. Omit to skip version setting.", + "description": "Patch version component for the build specification. Omit to skip version setting.", "required": false, "default": "", "type": "string" }, { "name": "build", - "description": "Build number component for the PPL. Omit to skip version setting.", + "description": "Build number component for the build specification. Omit to skip version setting.", "required": false, "default": "", "type": "string" diff --git a/artifacts/linux/action-docs.md b/artifacts/linux/action-docs.md index 3b315766..1509afdf 100644 --- a/artifacts/linux/action-docs.md +++ b/artifacts/linux/action-docs.md @@ -75,8 +75,8 @@ Builds a LabVIEW Packed Library using a project and build spec. MinimumSupported pwsh ./actions/Invoke-OSAction.ps1 -ActionName Invoke-BuildLvlibp -ArgsJson '{}' ``` -#### Invoke-BuildLvlibpDockerLinux -Builds LabVIEW Packed Project Library (.lvlibp) using Linux Docker container. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., "2021", "2026"). SupportedBitness: Bitness of the LabVIEW environment ("32" or "64"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to "My Computer"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DockerImage: Docker image name (default: "nationalinstruments/labview"). ImageTag: Docker image tag (defaults to "2026q1-linux"). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI. +#### Invoke-BuildSpecDockerLinux +Builds LabVIEW build specification using Linux Docker container. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., "2021", "2026"). SupportedBitness: Bitness of the LabVIEW environment ("32" or "64"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to "My Computer"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DockerImage: Docker image name (default: "nationalinstruments/labview"). ImageTag: Docker image tag (defaults to "2026q1-linux"). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI. | Parameter | Type | Required | Default | Description | | --- | --- | --- | --- | --- | | Build | number | false | -1 | Build number component (optional, skips version setting if < 0) | @@ -95,11 +95,11 @@ Builds LabVIEW Packed Project Library (.lvlibp) using Linux Docker container. Mi | gcliPath | string | false | | Optional path prepended to PATH for locating the g CLI | ```powershell -pwsh ./actions/Invoke-OSAction.ps1 -ActionName Invoke-BuildLvlibpDockerLinux -ArgsJson '{}' +pwsh ./actions/Invoke-OSAction.ps1 -ActionName Invoke-BuildSpecDockerLinux -ArgsJson '{}' ``` -#### Invoke-BuildLvlibpDockerWindows -Builds LabVIEW Packed Project Library (.lvlibp) using Windows Docker container. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., "2021", "2026"). SupportedBitness: Bitness of the LabVIEW environment ("32" or "64"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to "My Computer"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DockerImage: Docker image name (default: "nationalinstruments/labview"). ImageTag: Docker image tag (defaults to "2026q1-windows"). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI. +#### Invoke-BuildSpecDockerWindows +Builds LabVIEW build specification using Windows Docker container. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., "2021", "2026"). SupportedBitness: Bitness of the LabVIEW environment ("32" or "64"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to "My Computer"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DockerImage: Docker image name (default: "nationalinstruments/labview"). ImageTag: Docker image tag (defaults to "2026q1-windows"). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI. | Parameter | Type | Required | Default | Description | | --- | --- | --- | --- | --- | | Build | number | false | -1 | Build number component (optional, skips version setting if < 0) | @@ -118,11 +118,11 @@ Builds LabVIEW Packed Project Library (.lvlibp) using Windows Docker container. | gcliPath | string | false | | Optional path prepended to PATH for locating the g CLI | ```powershell -pwsh ./actions/Invoke-OSAction.ps1 -ActionName Invoke-BuildLvlibpDockerWindows -ArgsJson '{}' +pwsh ./actions/Invoke-OSAction.ps1 -ActionName Invoke-BuildSpecDockerWindows -ArgsJson '{}' ``` -#### Invoke-BuildLvlibpGithubHostedWindows -Builds LabVIEW Packed Project Library (.lvlibp) using Windows GitHub-hosted runner. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., "2021", "2026"). SupportedBitness: Bitness of the LabVIEW environment ("32" or "64"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to "My Computer"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI. +#### Invoke-BuildSpecGithubHostedWindows +Builds LabVIEW build specification using Windows GitHub-hosted runner. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., "2021", "2026"). SupportedBitness: Bitness of the LabVIEW environment ("32" or "64"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to "My Computer"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI. | Parameter | Type | Required | Default | Description | | --- | --- | --- | --- | --- | | Build | number | false | -1 | Build number component (optional, skips version setting if < 0) | @@ -139,7 +139,7 @@ Builds LabVIEW Packed Project Library (.lvlibp) using Windows GitHub-hosted runn | gcliPath | string | false | | Optional path prepended to PATH for locating the g CLI | ```powershell -pwsh ./actions/Invoke-OSAction.ps1 -ActionName Invoke-BuildLvlibpGithubHostedWindows -ArgsJson '{}' +pwsh ./actions/Invoke-OSAction.ps1 -ActionName Invoke-BuildSpecGithubHostedWindows -ArgsJson '{}' ``` #### Invoke-BuildViPackage @@ -472,7 +472,7 @@ pwsh ./actions/Invoke-OSAction.ps1 -ActionName Set-LogLevel -ArgsJson '{}' | log_level | string | false | INFO | Verbosity level (ERROR|WARN|INFO|DEBUG). | | dry_run | string | false | false | If true, simulate the action without side effects. | -#### build-lvlibp-docker-linux +#### build-spec-docker-linux | Name | Type | Required | Default | Description | | --- | --- | --- | --- | --- | | minimum_supported_lv_version | string | true | | LabVIEW version year for the build (e.g., "2021", "2026"). | @@ -480,10 +480,10 @@ pwsh ./actions/Invoke-OSAction.ps1 -ActionName Set-LogLevel -ArgsJson '{}' | project_path | string | true | | Path to the LabVIEW project .lvproj file. | | target_name | string | false | | Target that contains the build specification. Defaults to "My Computer" in helper VI. | | build_spec_name | string | false | | Name of the build specification. If empty, builds all specifications in the target. | -| major | string | false | | Major version component for the PPL. Omit to skip version setting. | -| minor | string | false | | Minor version component for the PPL. Omit to skip version setting. | -| patch | string | false | | Patch version component for the PPL. Omit to skip version setting. | -| build | string | false | | Build number component for the PPL. Omit to skip version setting. | +| major | string | false | | Major version component for the build specification. Omit to skip version setting. | +| minor | string | false | | Minor version component for the build specification. Omit to skip version setting. | +| patch | string | false | | Patch version component for the build specification. Omit to skip version setting. | +| build | string | false | | Build number component for the build specification. Omit to skip version setting. | | commit | string | false | | Commit hash or identifier recorded in the build. | | docker_image | string | false | nationalinstruments/labview | Docker image name. | | image_tag | string | false | 2026q1-linux | Docker image tag. | @@ -491,7 +491,7 @@ pwsh ./actions/Invoke-OSAction.ps1 -ActionName Set-LogLevel -ArgsJson '{}' | log_level | string | false | INFO | Verbosity level (ERROR|WARN|INFO|DEBUG). | | dry_run | string | false | false | If true, simulate the action without side effects. | -#### build-lvlibp-docker-windows +#### build-spec-docker-windows | Name | Type | Required | Default | Description | | --- | --- | --- | --- | --- | | minimum_supported_lv_version | string | true | | LabVIEW version year for the build (e.g., "2021", "2026"). | @@ -499,10 +499,10 @@ pwsh ./actions/Invoke-OSAction.ps1 -ActionName Set-LogLevel -ArgsJson '{}' | project_path | string | true | | Path to the LabVIEW project .lvproj file. | | target_name | string | false | | Target that contains the build specification. Defaults to "My Computer" in helper VI. | | build_spec_name | string | false | | Name of the build specification. If empty, builds all specifications in the target. | -| major | string | false | | Major version component for the PPL. Omit to skip version setting. | -| minor | string | false | | Minor version component for the PPL. Omit to skip version setting. | -| patch | string | false | | Patch version component for the PPL. Omit to skip version setting. | -| build | string | false | | Build number component for the PPL. Omit to skip version setting. | +| major | string | false | | Major version component for the build specification. Omit to skip version setting. | +| minor | string | false | | Minor version component for the build specification. Omit to skip version setting. | +| patch | string | false | | Patch version component for the build specification. Omit to skip version setting. | +| build | string | false | | Build number component for the build specification. Omit to skip version setting. | | commit | string | false | | Commit hash or identifier recorded in the build. | | docker_image | string | false | nationalinstruments/labview | Docker image name. | | image_tag | string | false | 2026q1-windows | Docker image tag. | @@ -510,7 +510,7 @@ pwsh ./actions/Invoke-OSAction.ps1 -ActionName Set-LogLevel -ArgsJson '{}' | log_level | string | false | INFO | Verbosity level (ERROR|WARN|INFO|DEBUG). | | dry_run | string | false | false | If true, simulate the action without side effects. | -#### build-lvlibp-github-hosted-windows +#### build-spec-github-hosted-windows | Name | Type | Required | Default | Description | | --- | --- | --- | --- | --- | | minimum_supported_lv_version | string | true | | LabVIEW version year for the build (e.g., "2021", "2026"). | @@ -518,10 +518,10 @@ pwsh ./actions/Invoke-OSAction.ps1 -ActionName Set-LogLevel -ArgsJson '{}' | project_path | string | true | | Path to the LabVIEW project .lvproj file. | | target_name | string | false | | Target that contains the build specification. Defaults to "My Computer" in helper VI. | | build_spec_name | string | false | | Name of the build specification. If empty, builds all specifications in the target. | -| major | string | false | | Major version component for the PPL. Omit to skip version setting. | -| minor | string | false | | Minor version component for the PPL. Omit to skip version setting. | -| patch | string | false | | Patch version component for the PPL. Omit to skip version setting. | -| build | string | false | | Build number component for the PPL. Omit to skip version setting. | +| major | string | false | | Major version component for the build specification. Omit to skip version setting. | +| minor | string | false | | Minor version component for the build specification. Omit to skip version setting. | +| patch | string | false | | Patch version component for the build specification. Omit to skip version setting. | +| build | string | false | | Build number component for the build specification. Omit to skip version setting. | | commit | string | false | | Commit hash or identifier recorded in the build. | | working_directory | string | false | | Working directory where the action will run. | | log_level | string | false | INFO | Verbosity level (ERROR|WARN|INFO|DEBUG). | diff --git a/build-lvlibp-docker-linux/action.yml b/build-spec-docker-linux/action.yml similarity index 82% rename from build-lvlibp-docker-linux/action.yml rename to build-spec-docker-linux/action.yml index 355fa64e..d6e91624 100644 --- a/build-lvlibp-docker-linux/action.yml +++ b/build-spec-docker-linux/action.yml @@ -1,5 +1,5 @@ -name: 'Build LVLIBP Docker Linux' -description: 'Builds LabVIEW Packed Project Library (.lvlibp) using Linux Docker container' +name: 'Build Spec Docker Linux' +description: 'Builds a LabVIEW build specification using Linux Docker container' inputs: minimum_supported_lv_version: description: 'LabVIEW version year for the build (e.g., "2021", "2026").' @@ -19,16 +19,16 @@ inputs: required: false default: '' major: - description: 'Major version component for the PPL. Omit to skip version setting.' + description: 'Major version component for the build specification. Omit to skip version setting.' required: false minor: - description: 'Minor version component for the PPL. Omit to skip version setting.' + description: 'Minor version component for the build specification. Omit to skip version setting.' required: false patch: - description: 'Patch version component for the PPL. Omit to skip version setting.' + description: 'Patch version component for the build specification. Omit to skip version setting.' required: false build: - description: 'Build number component for the PPL. Omit to skip version setting.' + description: 'Build number component for the build specification. Omit to skip version setting.' required: false commit: description: 'Commit hash or identifier recorded in the build.' @@ -57,7 +57,7 @@ inputs: runs: using: 'composite' steps: - - name: Dispatch build-lvlibp-docker-linux + - name: Dispatch build-spec-docker-linux shell: pwsh run: | $ErrorActionPreference = 'Stop' @@ -79,7 +79,7 @@ runs: if ('${{ inputs.build }}') { $args['Build'] = [int]'${{ inputs.build }}' } $params = @{ - ActionName = 'build-lvlibp-docker-linux' + ActionName = 'build-spec-docker-linux' ArgsJson = ($args | ConvertTo-Json -Compress) LogLevel = '${{ inputs.log_level }}' } diff --git a/build-lvlibp-docker-windows/action.yml b/build-spec-docker-windows/action.yml similarity index 82% rename from build-lvlibp-docker-windows/action.yml rename to build-spec-docker-windows/action.yml index c5bcd308..2005f449 100644 --- a/build-lvlibp-docker-windows/action.yml +++ b/build-spec-docker-windows/action.yml @@ -1,5 +1,5 @@ -name: 'Build LVLIBP Docker Windows' -description: 'Builds LabVIEW Packed Project Library (.lvlibp) using Windows Docker container' +name: 'Build Spec Docker Windows' +description: 'Builds a LabVIEW build specification using Windows Docker container' inputs: minimum_supported_lv_version: description: 'LabVIEW version year for the build (e.g., "2021", "2026").' @@ -19,16 +19,16 @@ inputs: required: false default: '' major: - description: 'Major version component for the PPL. Omit to skip version setting.' + description: 'Major version component for the build specification. Omit to skip version setting.' required: false minor: - description: 'Minor version component for the PPL. Omit to skip version setting.' + description: 'Minor version component for the build specification. Omit to skip version setting.' required: false patch: - description: 'Patch version component for the PPL. Omit to skip version setting.' + description: 'Patch version component for the build specification. Omit to skip version setting.' required: false build: - description: 'Build number component for the PPL. Omit to skip version setting.' + description: 'Build number component for the build specification. Omit to skip version setting.' required: false commit: description: 'Commit hash or identifier recorded in the build.' @@ -57,7 +57,7 @@ inputs: runs: using: 'composite' steps: - - name: Dispatch build-lvlibp-docker-windows + - name: Dispatch build-spec-docker-windows shell: pwsh run: | $ErrorActionPreference = 'Stop' @@ -79,7 +79,7 @@ runs: if ('${{ inputs.build }}') { $args['Build'] = [int]'${{ inputs.build }}' } $params = @{ - ActionName = 'build-lvlibp-docker-windows' + ActionName = 'build-spec-docker-windows' ArgsJson = ($args | ConvertTo-Json -Compress) LogLevel = '${{ inputs.log_level }}' } diff --git a/build-lvlibp-github-hosted-windows/action.yml b/build-spec-github-hosted-windows/action.yml similarity index 80% rename from build-lvlibp-github-hosted-windows/action.yml rename to build-spec-github-hosted-windows/action.yml index 95db66e3..0996c238 100644 --- a/build-lvlibp-github-hosted-windows/action.yml +++ b/build-spec-github-hosted-windows/action.yml @@ -1,5 +1,5 @@ -name: 'Build LVLIBP GitHub Hosted Windows' -description: 'Builds LabVIEW Packed Project Library (.lvlibp) using Windows GitHub-hosted runner' +name: 'Build Spec GitHub Hosted Windows' +description: 'Builds a LabVIEW build specification using Windows GitHub-hosted runner' inputs: minimum_supported_lv_version: description: 'LabVIEW version year for the build (e.g., "2021", "2026").' @@ -19,16 +19,16 @@ inputs: required: false default: '' major: - description: 'Major version component for the PPL. Omit to skip version setting.' + description: 'Major version component for the build specification. Omit to skip version setting.' required: false minor: - description: 'Minor version component for the PPL. Omit to skip version setting.' + description: 'Minor version component for the build specification. Omit to skip version setting.' required: false patch: - description: 'Patch version component for the PPL. Omit to skip version setting.' + description: 'Patch version component for the build specification. Omit to skip version setting.' required: false build: - description: 'Build number component for the PPL. Omit to skip version setting.' + description: 'Build number component for the build specification. Omit to skip version setting.' required: false commit: description: 'Commit hash or identifier recorded in the build.' @@ -49,7 +49,7 @@ inputs: runs: using: 'composite' steps: - - name: Dispatch build-lvlibp-github-hosted-windows + - name: Dispatch build-spec-github-hosted-windows shell: pwsh run: | $ErrorActionPreference = 'Stop' @@ -69,7 +69,7 @@ runs: if ('${{ inputs.build }}') { $args['Build'] = [int]'${{ inputs.build }}' } $params = @{ - ActionName = 'build-lvlibp-github-hosted-windows' + ActionName = 'build-spec-github-hosted-windows' ArgsJson = ($args | ConvertTo-Json -Compress) LogLevel = '${{ inputs.log_level }}' } diff --git a/ci_evidence.txt b/ci_evidence.txt index c2a1b504..dd38ea0a 100644 --- a/ci_evidence.txt +++ b/ci_evidence.txt @@ -1 +1 @@ -{"pipeline":"Unknown","git_sha":"ca2e2799dc4ab919b029800520cee7124d7a3d7a","req_status":{"REQ-023":"PASS","REQ-024":"PASS","REQ-025":"PASS","REQ-026":"PASS","REQ-027":"PASS","REQ-028":"PASS","REQ-029":"PASS","REQ-030":"PASS","REQ-031":"PASS","REQ-032":"PASS","REQ-033":"PASS"}} \ No newline at end of file +{"pipeline":"Unknown","git_sha":"5fbaea9b62f424424f5c5608977e4a5489f405be","req_status":{"REQ-023":"PASS","REQ-024":"PASS","REQ-025":"PASS","REQ-026":"PASS","REQ-027":"PASS","REQ-028":"PASS","REQ-029":"PASS","REQ-030":"PASS","REQ-031":"PASS","REQ-032":"PASS","REQ-033":"PASS"}} \ No newline at end of file diff --git a/dispatchers.json b/dispatchers.json index e833f877..126b4f7a 100644 --- a/dispatchers.json +++ b/dispatchers.json @@ -194,8 +194,8 @@ } } }, - "Invoke-BuildLvlibpDockerLinux": { - "description": "Builds LabVIEW Packed Project Library (.lvlibp) using Linux Docker container. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., \"2021\", \"2026\"). SupportedBitness: Bitness of the LabVIEW environment (\"32\" or \"64\"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to \"My Computer\"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DockerImage: Docker image name (default: \"nationalinstruments/labview\"). ImageTag: Docker image tag (defaults to \"2026q1-linux\"). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI.", + "Invoke-BuildSpecDockerLinux": { + "description": "Builds LabVIEW build specification using Linux Docker container. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., \"2021\", \"2026\"). SupportedBitness: Bitness of the LabVIEW environment (\"32\" or \"64\"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to \"My Computer\"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DockerImage: Docker image name (default: \"nationalinstruments/labview\"). ImageTag: Docker image tag (defaults to \"2026q1-linux\"). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI.", "parameters": { "Build": { "type": "number", @@ -278,8 +278,8 @@ } } }, - "Invoke-BuildLvlibpDockerWindows": { - "description": "Builds LabVIEW Packed Project Library (.lvlibp) using Windows Docker container. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., \"2021\", \"2026\"). SupportedBitness: Bitness of the LabVIEW environment (\"32\" or \"64\"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to \"My Computer\"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DockerImage: Docker image name (default: \"nationalinstruments/labview\"). ImageTag: Docker image tag (defaults to \"2026q1-windows\"). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI.", + "Invoke-BuildSpecDockerWindows": { + "description": "Builds LabVIEW build specification using Windows Docker container. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., \"2021\", \"2026\"). SupportedBitness: Bitness of the LabVIEW environment (\"32\" or \"64\"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to \"My Computer\"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DockerImage: Docker image name (default: \"nationalinstruments/labview\"). ImageTag: Docker image tag (defaults to \"2026q1-windows\"). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI.", "parameters": { "Build": { "type": "number", @@ -362,8 +362,8 @@ } } }, - "Invoke-BuildLvlibpGithubHostedWindows": { - "description": "Builds LabVIEW Packed Project Library (.lvlibp) using Windows GitHub-hosted runner. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., \"2021\", \"2026\"). SupportedBitness: Bitness of the LabVIEW environment (\"32\" or \"64\"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to \"My Computer\"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI.", + "Invoke-BuildSpecGithubHostedWindows": { + "description": "Builds LabVIEW build specification using Windows GitHub-hosted runner. MinimumSupportedLVVersion: LabVIEW version for the build (e.g., \"2021\", \"2026\"). SupportedBitness: Bitness of the LabVIEW environment (\"32\" or \"64\"). ProjectPath: Path to the LabVIEW project .lvproj file. TargetName: Target that contains the build specification (optional, defaults to \"My Computer\"). BuildSpecName: Name of the LabVIEW build specification (optional, builds all if empty). Major: Major version component (optional, skips version setting if < 0). Minor: Minor version component (optional, skips version setting if < 0). Patch: Patch version component (optional, skips version setting if < 0). Build: Build number component (optional, skips version setting if < 0). Commit: Commit hash or identifier (optional). DryRun: If set, prints the command instead of executing it. gcliPath: Optional path prepended to PATH for locating the g CLI.", "parameters": { "Build": { "type": "number", diff --git a/docs/actions/index.md b/docs/actions/index.md index 7e1f0d9d..df40c75a 100644 --- a/docs/actions/index.md +++ b/docs/actions/index.md @@ -5,9 +5,9 @@ List of available GitHub Actions. - [add-token-to-labview](./add-token-to-labview.md): Add a custom library path token to the LabVIEW INI file so LabVIEW can locate project libraries. - [apply-vipc](./apply-vipc.md): Apply a VI Package Configuration (.vipc) file to a specific LabVIEW installation using g-cli. - [build-lvlibp](./build-lvlibp.md): Build a LabVIEW project’s build specification into a Packed Project Library (.lvlibp) -- [build-lvlibp-docker-linux](./build-lvlibp-docker-linux.md) – Build LVLIBP using Linux Docker container -- [build-lvlibp-docker-windows](./build-lvlibp-docker-windows.md) – Build LVLIBP using Windows Docker container -- [build-lvlibp-github-hosted-windows](./build-lvlibp-github-hosted-windows.md) – Build LVLIBP using Windows GitHub-hosted runner +- [build-spec-docker-linux](./build-spec-docker-linux.md) – Build LabVIEW build specification using Linux Docker container +- [build-spec-docker-windows](./build-spec-docker-windows.md) – Build LabVIEW build specification using Windows Docker container +- [build-spec-github-hosted-windows](./build-spec-github-hosted-windows.md) – Build LabVIEW build specification using Windows GitHub-hosted runner - [build-vi-package](./build-vi-package.md): Update VIPB display information and build a VI package using g-cli. - [build](./build.md): Automate building the LabVIEW Icon Editor project, including cleaning, building libraries, and packaging. - [close-labview](./close-labview.md): Gracefully close a running LabVIEW instance via g-cli. @@ -25,6 +25,8 @@ List of available GitHub Actions. - [setup-labview](./setup-labview.md): Downloads and installs LabVIEW Community Edition from an ISO image for CI/CD environments. - [setup-lunit](./setup-lunit.md): Installs VI Package Manager (VIPM) and the LUnit for G-CLI package for LabVIEW automation testing. - [setup-mkdocs](./setup-mkdocs.md): Install a pinned MkDocs with caching. +- [setup-nipm](./setup-nipm.md): Installs and configures NI Package Manager (NIPM) for LabVIEW package management in CI/CD environments. +- [via-lv-docker](via-lv-docker.md): Execute LabVIEW VI Analyzer tests using a Docker container and parse results. ## See also diff --git a/docs/requirements.md b/docs/requirements.md index 55791e49..f5cc4650 100644 --- a/docs/requirements.md +++ b/docs/requirements.md @@ -45,9 +45,9 @@ Runner Type indicates whether a requirement runs on a standard GitHub-hosted ima | REQ-036 | Download, install, and activate LabVIEW Community Edition from an ISO image, handling installation timeouts and cleanup. | `tests/pester/SetupLabview.Workflow.Tests.ps1` | | | | | REQ-037 | Configure LabVIEW settings by updating LabVIEW.ini to enable TCP/IP server and VI scripting operations. | `tests/pester/ConfigureLabview.Workflow.Tests.ps1` | | | | | REQ-038 | Install VI Package Manager (VIPM) and LUnit CLI package for LabVIEW automation testing. | `tests/pester/SetupLunit.Workflow.Tests.ps1` | | | | -| REQ-039 | Build LabVIEW Packed Project Library (.lvlibp) using Linux LabVIEW Docker container with specified version, bitness, and build specification, then rename the artifact with version and commit metadata. | `tests/pester/BuildLvlibpDockerLinux.Workflow.Tests.ps1` | | | | -| REQ-040 | Build LabVIEW Packed Project Library (.lvlibp) using Windows LabVIEW Docker container with specified version, bitness, and build specification, then rename the artifact with version and commit metadata. | `tests/pester/BuildLvlibpDockerWindows.Workflow.Tests.ps1` | | | | -| REQ-041 | Build LabVIEW Packed Project Library (.lvlibp) using Windows GitHub-hosted runner with locally installed LabVIEW. | `tests/pester/BuildLvlibpGithubHostedWindows.Workflow.Tests.ps1` | | | | +| REQ-039 | Build LabVIEW build specification using Linux LabVIEW Docker container with specified version, bitness, and build specification, then rename the artifact with version and commit metadata. | `tests/pester/BuildSpecDockerLinux.Workflow.Tests.ps1` | | | | +| REQ-040 | Build LabVIEW build specification using Windows LabVIEW Docker container with specified version, bitness, and build specification, then rename the artifact with version and commit metadata. | `tests/pester/BuildSpecDockerWindows.Workflow.Tests.ps1` | | | | +| REQ-041 | Build LabVIEW build specification using Windows GitHub-hosted runner with locally installed LabVIEW. | `tests/pester/BuildSpecGithubHostedWindows.Workflow.Tests.ps1` | | | | | REQIE-001 | After checking out the LabVIEW icon editor repository, PreSequence: The sequencer shall enumerate and record the build matrix used by the workflow (LabVIEW versions and bitness). Acceptance: a 'matrix.json' file exists listing each tuple {"lv-version": "2021"\|"2023", "bitness": "32"\|"64"} with at least [ ["2021","32"], ["2021","64"], ["2023","64"] ]. g-cli is expected at 'C:\Program Files\G-CLI\bin\g-cli.exe'. | `tests/pester/BuildProfile1.IconEditor.PreSequence.matrix-enumeration.ps1` | self-hosted-windows-lv | integration | true | | REQIE-002 | After checking out the LabVIEW icon editor repository, Setup: For each matrix entry, the sequencer shall apply [VIPC](glossary.md#vipc) dependencies using the canonical action inputs (minimum_supported_lv_version, vip_lv_version, supported_bitness, relative_path). Evidence: a 'vipc-apply.json' summary per matrix entry capturing inputs, start/end timestamps, exit code, and status. Acceptance: all entries report exit_code == 0 and status == 'success'. g-cli is expected at 'C:\Program Files\G-CLI\bin\g-cli.exe'. | `tests/pester/BuildProfile1.IconEditor.Setup.apply-vipc-succeeds.ps1` | self-hosted-windows-lv | integration | true | | REQIE-003 | After checking out the LabVIEW icon editor repository, Setup: The sequencer shall compute and persist semantic version information. Evidence: a 'version.json' containing VERSION, MAJOR, MINOR, PATCH, BUILD, IS_PRERELEASE and the commit SHA used. Acceptance: VERSION conforms to SemVer and all numeric components are present. g-cli is expected at 'C:\Program Files\G-CLI\bin\g-cli.exe'. | `tests/pester/BuildProfile1.IconEditor.Setup.version-outputs-captured.ps1` | self-hosted-windows-lv | integration | true | diff --git a/docs/scripts/build-lvlibp-docker-linux.md b/docs/scripts/build-spec-docker-linux.md similarity index 80% rename from docs/scripts/build-lvlibp-docker-linux.md rename to docs/scripts/build-spec-docker-linux.md index 5bb1b0da..94236067 100644 --- a/docs/scripts/build-lvlibp-docker-linux.md +++ b/docs/scripts/build-spec-docker-linux.md @@ -1,6 +1,6 @@ -# Build Packed Library with Docker Linux 🐳📦 +# Build LabVIEW Build Specification with Docker Linux 🐳📦 -Call **`BuildLvlibpDockerLinux.ps1`** to compile LabVIEW packed libraries using LabVIEWCLI inside a Linux Docker container. +Call **`BuildSpecDockerLinux.ps1`** to compile LabVIEW build specification using LabVIEWCLI inside a Linux Docker container. ## Inputs @@ -24,7 +24,7 @@ Call **`BuildLvlibpDockerLinux.ps1`** to compile LabVIEW packed libraries using The following example builds using LabVIEW 2026 inside a Linux Docker container. ```yaml -- uses: ./.github/actions/build-lvlibp-docker-linux +- uses: ./.github/actions/build-spec-docker-linux with: minimum_supported_lv_version: 2026 supported_bitness: 64 @@ -45,7 +45,7 @@ The following example builds using LabVIEW 2026 inside a Linux Docker container. Leave `build_spec_name` empty and provide version to set the same version on all build specs: ```yaml -- uses: ./.github/actions/build-lvlibp-docker-linux +- uses: ./.github/actions/build-spec-docker-linux with: minimum_supported_lv_version: 2026 supported_bitness: 64 @@ -67,13 +67,16 @@ Leave `build_spec_name` empty and provide version to set the same version on all - **Any version component omitted** (< 0 or not provided): - Version setting is skipped +- For **Zip Files**, Version is not set. + ## Requirements - Docker must be installed and running on the host system - The specified Linux Docker image must contain LabVIEWCLI - The LabVIEW project file must exist at the specified path +- The Build specification must be supported in Linux. For more information on build specifications, take a look at the [LabVIEW User Manual](https://www.ni.com/docs/en-US/bundle/labview/page/using-build-specifications.html) -See also: [docs/actions/build-lvlibp-docker-linux.md](../actions/build-lvlibp-docker-linux.md) +See also: [docs/actions/build-spec-docker-linux.md](../actions/build-spec-docker-linux.md) ## License diff --git a/docs/scripts/build-lvlibp-docker-windows.md b/docs/scripts/build-spec-docker-windows.md similarity index 82% rename from docs/scripts/build-lvlibp-docker-windows.md rename to docs/scripts/build-spec-docker-windows.md index 41fea865..c297ba7b 100644 --- a/docs/scripts/build-lvlibp-docker-windows.md +++ b/docs/scripts/build-spec-docker-windows.md @@ -1,6 +1,6 @@ -# Build Packed Library with Docker Windows 🐳📦 +# Build LabVIEW Build Specification with Docker Windows 🐳📦 -Call **`BuildLvlibpDockerWindows.ps1`** to compile LabVIEW packed libraries using LabVIEWCLI inside a Windows Docker container. +Call **`BuildSpecDockerWindows.ps1`** to compile LabVIEW build specification using LabVIEWCLI inside a Windows Docker container. ## Inputs @@ -24,7 +24,7 @@ Call **`BuildLvlibpDockerWindows.ps1`** to compile LabVIEW packed libraries usin The following example builds using LabVIEW 2026 inside a Windows Docker container with custom version: ```yaml -- uses: ./.github/actions/build-lvlibp-docker-windows +- uses: ./.github/actions/build-spec-docker-windows with: minimum_supported_lv_version: 2026 supported_bitness: 64 @@ -45,7 +45,7 @@ The following example builds using LabVIEW 2026 inside a Windows Docker containe Build with only required parameters (skips version setting, builds all specifications in "My Computer"): ```yaml -- uses: ./.github/actions/build-lvlibp-docker-windows +- uses: ./.github/actions/build-spec-docker-windows with: minimum_supported_lv_version: 2026 supported_bitness: 64 @@ -57,7 +57,7 @@ Build with only required parameters (skips version setting, builds all specifica Leave `build_spec_name` empty to build all build specifications under the target: ```yaml -- uses: ./.github/actions/build-lvlibp-docker-windows +- uses: ./.github/actions/build-spec-docker-windows with: minimum_supported_lv_version: 2026 supported_bitness: 64 @@ -71,6 +71,8 @@ Leave `build_spec_name` empty to build all build specifications under the target commit: ${{ github.sha }} ``` +- Note: For **Zip Files**, Version is not set. + ## Requirements - Docker must be installed and running on the host system @@ -85,9 +87,9 @@ This action requires **Windows containers**, which are only available on: - Windows Server 2016 or later - Windows 10/11 with Docker Desktop configured for Windows containers -For Linux-based builds, use [build-lvlibp-docker-linux](build-lvlibp-docker-linux.md). +For Linux-based builds, use [build-spec-docker-linux](build-spec-docker-linux.md). -See also: [docs/actions/build-lvlibp-docker-windows.md](../actions/build-lvlibp-docker-windows.md) +See also: [docs/actions/build-spec-docker-windows.md](../actions/build-spec-docker-windows.md) ## License diff --git a/docs/scripts/build-lvlibp-github-hosted-windows.md b/docs/scripts/build-spec-github-hosted-windows.md similarity index 82% rename from docs/scripts/build-lvlibp-github-hosted-windows.md rename to docs/scripts/build-spec-github-hosted-windows.md index 9a621891..57f8840d 100644 --- a/docs/scripts/build-lvlibp-github-hosted-windows.md +++ b/docs/scripts/build-spec-github-hosted-windows.md @@ -1,6 +1,6 @@ -# Build Packed Library with Windows Runner 🖥️📦 +# Build LabVIEW Build Specification with Windows Runner 🖥️📦 -Call **`BuildLvlibpGithubHostedWindows.ps1`** to compile LabVIEW packed libraries using LabVIEWCLI on a Windows GitHub-hosted runner. +Call **`BuildSpecGithubHostedWindows.ps1`** to compile LabVIEW packed libraries using LabVIEWCLI on a Windows GitHub-hosted runner. ## Inputs @@ -22,7 +22,7 @@ Call **`BuildLvlibpGithubHostedWindows.ps1`** to compile LabVIEW packed librarie The following example builds using LabVIEW 2025 (32-bit) on a Windows runner. ```yaml -- uses: ./.github/actions/build-lvlibp-github-hosted-windows +- uses: ./.github/actions/build-spec-github-hosted-windows with: minimum_supported_lv_version: 2025 supported_bitness: 32 @@ -41,7 +41,7 @@ The following example builds using LabVIEW 2025 (32-bit) on a Windows runner. This example shows the full workflow including LabVIEW installation: ```yaml -name: Build LVLIBP +name: Build Spec on: push: @@ -68,7 +68,7 @@ jobs: package_id: 'LabVIEW_COM_PKG 25.0300' - name: Build PPL - uses: ./.github/actions/build-lvlibp-github-hosted-windows + uses: ./.github/actions/build-spec-github-hosted-windows with: minimum_supported_lv_version: 2025 supported_bitness: 32 @@ -85,7 +85,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: lv_icon_x86_v1.0.0.1 - path: builds/*.lvlibp + path: builds/*.spec ``` ## Build All Specifications with Version Override @@ -93,7 +93,7 @@ jobs: Leave `build_spec_name` empty and provide version to set the same version on all build specs: ```yaml -- uses: ./.github/actions/build-lvlibp-github-hosted-windows +- uses: ./.github/actions/build-spec-github-hosted-windows with: minimum_supported_lv_version: 2025 supported_bitness: 32 @@ -111,7 +111,7 @@ Leave `build_spec_name` empty and provide version to set the same version on all Omit version parameters to use versions to skip setting versions in build specifications: ```yaml -- uses: ./.github/actions/build-lvlibp-github-hosted-windows +- uses: ./.github/actions/build-spec-github-hosted-windows with: minimum_supported_lv_version: 2025 supported_bitness: 32 @@ -130,11 +130,13 @@ Omit version parameters to use versions to skip setting versions in build specif - Version setting is skipped - Build specifications use their own version settings from the project file +- For **Zip Files**, Version is not set. + ## Requirements - LabVIEW must be installed on the runner (use `setup-labview` action) - LabVIEWCLI must be available in the PATH -- Helper VI must exist at `scripts/build-lvlibp-helpers/SetBuildVersionCaller.vi` +- Helper VI must exist at `scripts/build-spec-helpers/SetBuildVersionCaller.vi` - Windows runner (Windows Server 2019, 2022, or Windows 10/11) ## Platform Notes @@ -143,10 +145,10 @@ This action requires **Windows runners** with locally installed LabVIEW. For containerized builds: -- Windows containers: [build-lvlibp-docker-windows](build-lvlibp-docker-windows.md) -- Linux containers: [build-lvlibp-docker-linux](build-lvlibp-docker-linux.md) +- Windows containers: [build-spec-docker-windows](build-spec-docker-windows.md) +- Linux containers: [build-spec-docker-linux](build-spec-docker-linux.md) -See also: [docs/actions/build-lvlibp-github-hosted-windows.md](../actions/build-lvlibp-github-hosted-windows.md) +See also: [docs/actions/build-spec-github-hosted-windows.md](../actions/build-spec-github-hosted-windows.md) ## License diff --git a/requirements.json b/requirements.json index 6582ecc3..6f279c99 100644 --- a/requirements.json +++ b/requirements.json @@ -298,23 +298,23 @@ }, { "id": "REQ-039", - "description": "Build LabVIEW Packed Project Library (.lvlibp) using Linux LabVIEW Docker container with specified version, bitness, and build specification, then rename the artifact with version and commit metadata.", + "description": "Build LabVIEW Build Specification using Linux LabVIEW Docker container with specified version, bitness, and build specification, then rename the artifact with version and commit metadata.", "tests": [ - "BuildLvlibpDockerLinux.Workflow.Tests" + "BuildSpecDockerLinux.Workflow.Tests" ] }, { "id": "REQ-040", - "description": "Build LabVIEW Packed Project Library (.lvlibp) using Windows LabVIEW Docker container with specified version, bitness, and build specification, then rename the artifact with version and commit metadata.", + "description": "Build LabVIEW Build Specification using Windows LabVIEW Docker container with specified version, bitness, and build specification, then rename the artifact with version and commit metadata.", "tests": [ - "BuildLvlibpDockerWindows.Workflow.Tests" + "BuildSpecDockerWindows.Workflow.Tests" ] }, { "id": "REQ-041", - "description": "Build LabVIEW Packed Project Library (.lvlibp) using Windows GitHub-hosted runner with locally installed LabVIEW.", + "description": "Build LabVIEW Build Specification using Windows GitHub-hosted runner with locally installed LabVIEW.", "tests": [ - "BuildLvlibpGithubHostedWindows.Workflow.Tests" + "BuildSpecGithubHostedWindows.Workflow.Tests" ] }, { diff --git a/scripts/build-lvlibp-helpers/SetBuildVersionCaller.vi b/scripts/build-lvlibp-helpers/SetBuildVersionCaller.vi deleted file mode 100644 index 5d621eba..00000000 Binary files a/scripts/build-lvlibp-helpers/SetBuildVersionCaller.vi and /dev/null differ diff --git a/scripts/build-lvlibp-docker-linux/BuildLvlibpDockerLinux.ps1 b/scripts/build-spec-docker-linux/BuildSpecDockerLinux.ps1 similarity index 78% rename from scripts/build-lvlibp-docker-linux/BuildLvlibpDockerLinux.ps1 rename to scripts/build-spec-docker-linux/BuildSpecDockerLinux.ps1 index de191508..bc010ea6 100644 --- a/scripts/build-lvlibp-docker-linux/BuildLvlibpDockerLinux.ps1 +++ b/scripts/build-spec-docker-linux/BuildSpecDockerLinux.ps1 @@ -1,6 +1,6 @@ <# .SYNOPSIS - Builds the LabVIEW Packed Project Library (.lvlibp) using Linux LabVIEW Docker container. + Builds a LabVIEW build specification using Linux LabVIEW Docker container. .DESCRIPTION Executes LabVIEW build specification through LabVIEWCLI inside a Docker container. @@ -21,16 +21,16 @@ Name of the LabVIEW build specification to execute. If empty, builds all specifications in the target. .PARAMETER Major - Major version component for the PPL. Optional - if not provided, version setting is skipped. + Major version component for the build specification. Optional - if not provided, version setting is skipped. .PARAMETER Minor - Minor version component for the PPL. Optional - if not provided, version setting is skipped. + Minor version component for the build specification. Optional - if not provided, version setting is skipped. .PARAMETER Patch - Patch version component for the PPL. Optional - if not provided, version setting is skipped. + Patch version component for the build specification. Optional - if not provided, version setting is skipped. .PARAMETER Build - Build number component for the PPL. Optional - if not provided, version setting is skipped. + Build number component for the build specification. Optional - if not provided, version setting is skipped. .PARAMETER Commit Commit hash or identifier recorded in the build. @@ -42,10 +42,10 @@ Docker image tag (e.g., "2026q1-linux"). .EXAMPLE - .\BuildLvlibpDockerLinux.ps1 -MinimumSupportedLVVersion "2026" -SupportedBitness "64" -ProjectPath "lv_icon_editor.lvproj" -TargetName "My Computer" -BuildSpecName "Editor Packed Library" -Major 1 -Minor 0 -Patch 0 -Build 0 -Commit "abc1234" + .\BuildSpecDockerLinux.ps1 -MinimumSupportedLVVersion "2026" -SupportedBitness "64" -ProjectPath "lv_icon_editor.lvproj" -TargetName "My Computer" -BuildSpecName "Editor Packed Library" -Major 1 -Minor 0 -Patch 0 -Build 0 -Commit "abc1234" .NOTES - [REQ-039] Build LabVIEW Packed Project Library using Linux Docker container + [REQ-039] Build LabVIEW build specification using Linux Docker container #> [CmdletBinding()] @@ -91,14 +91,14 @@ Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' try { - Write-Verbose "Building PPL with Linux Docker container" + Write-Verbose "Building build specification with Linux Docker container" $hasVersion = ($Major -ge 0) -and ($Minor -ge 0) -and ($Patch -ge 0) -and ($Build -ge 0) if ($hasVersion) { $versionString = "$Major.$Minor.$Patch.$Build" - Write-Information "PPL Version: $versionString" -InformationAction Continue + Write-Information "Build Specification Version: $versionString" -InformationAction Continue } else { - Write-Information "PPL Version setting skipped." -InformationAction Continue + Write-Information "Build Specification Version setting skipped." -InformationAction Continue } if ($Commit) { @@ -117,7 +117,7 @@ try { # Get the path to the bash script $scriptDir = $PSScriptRoot - $buildScript = Join-Path $scriptDir 'build-lvlibp.sh' + $buildScript = Join-Path $scriptDir 'build-spec.sh' if (-not (Test-Path $buildScript)) { throw "Build script not found: $buildScript" @@ -126,7 +126,7 @@ try { $actionRoot = Split-Path (Split-Path $scriptDir -Parent) -Parent Write-Verbose "Calculated action root from script path: $actionRoot" - $helperDir = Join-Path $actionRoot 'scripts' 'build-lvlibp-helpers' + $helperDir = Join-Path $actionRoot 'scripts' 'build-spec-helpers' if (-not (Test-Path $helperDir)) { throw "Helper VI directory not found: $helperDir" @@ -142,7 +142,7 @@ try { # Container paths are always Linux-style $containerProjectPath = "/workspace/$ProjectPath" - $containerScriptPath = "/tmp/build-lvlibp.sh" + $containerScriptPath = "/tmp/build-spec.sh" # Construct bash command arguments $bashArgs = @( @@ -190,6 +190,6 @@ try { exit 0 } catch { - Write-Error "BuildLvlibpDockerLinux failed: $_" + Write-Error "BuildSpecDockerLinux failed: $_" exit 1 } \ No newline at end of file diff --git a/scripts/build-lvlibp-docker-linux/build-lvlibp.sh b/scripts/build-spec-docker-linux/build-spec.sh similarity index 93% rename from scripts/build-lvlibp-docker-linux/build-lvlibp.sh rename to scripts/build-spec-docker-linux/build-spec.sh index 2a9ef8e7..0bddb8f3 100644 --- a/scripts/build-lvlibp-docker-linux/build-lvlibp.sh +++ b/scripts/build-spec-docker-linux/build-spec.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Build LabVIEW Packed Project Library using LabVIEWCLI -# [REQ-039] Build LVLIBP using Docker container +# Build LabVIEW Build Specification using LabVIEWCLI +# [REQ-039] Build LabVIEW build specification using Docker container set -euo pipefail @@ -47,7 +47,7 @@ if [[ -z "$LABVIEW_PATH" ]] || [[ -z "$PROJECT_PATH" ]]; then exit 1 fi -echo "Building LabVIEW Packed Project Library..." +echo "Building LabVIEW Build Specification..." echo "LabVIEW: $LABVIEW_PATH" echo "Project: $PROJECT_PATH" echo "Target: ${TARGET_NAME:-}" @@ -56,7 +56,7 @@ echo "Version: ${VERSION:-}" if [[ -n "$VERSION" ]]; then echo "Setting build version..." - HELPER_VI="/helpers/scripts/build-lvlibp-helpers/SetBuildVersionCaller.vi" + HELPER_VI="/helpers/scripts/build-spec-helpers/SetBuildVersionCaller.vi" if [[ ! -f "$HELPER_VI" ]]; then echo "Error: Helper VI not found at $HELPER_VI" diff --git a/scripts/build-lvlibp-docker-windows/BuildLvlibpDockerWindows.ps1 b/scripts/build-spec-docker-windows/BuildSpecDockerWindows.ps1 similarity index 79% rename from scripts/build-lvlibp-docker-windows/BuildLvlibpDockerWindows.ps1 rename to scripts/build-spec-docker-windows/BuildSpecDockerWindows.ps1 index e20ee8d0..c0cae1c3 100644 --- a/scripts/build-lvlibp-docker-windows/BuildLvlibpDockerWindows.ps1 +++ b/scripts/build-spec-docker-windows/BuildSpecDockerWindows.ps1 @@ -1,6 +1,6 @@ <# .SYNOPSIS - Builds the LabVIEW Packed Project Library (.lvlibp) using Windows LabVIEW Docker container. + Builds a LabVIEW build specification using Windows LabVIEW Docker container. .DESCRIPTION Executes LabVIEW build specification through LabVIEWCLI inside a Windows Docker container, @@ -22,16 +22,16 @@ PARAMETER TargetName Name of the LabVIEW build specification to execute. If empty, builds all specifications in the target. .PARAMETER Major - Major version component for the PPL. Optional - if not provided, version setting is skipped. + Major version component for the build specification. Optional - if not provided, version setting is skipped. .PARAMETER Minor - Minor version component for the PPL. Optional - if not provided, version setting is skipped. + Minor version component for the build specification. Optional - if not provided, version setting is skipped. .PARAMETER Patch - Patch version component for the PPL. Optional - if not provided, version setting is skipped. + Patch version component for the build specification. Optional - if not provided, version setting is skipped. .PARAMETER Build - Build number component for the PPL. Optional - if not provided, version setting is skipped. + Build number component for the build specification. Optional - if not provided, version setting is skipped. .PARAMETER Commit Commit hash or identifier recorded in the build. @@ -43,10 +43,10 @@ PARAMETER TargetName Docker image tag (e.g., "2026q1-windows"). .EXAMPLE - .\BuildLvlibpDockerWindows.ps1 -MinimumSupportedLVVersion "2026" -SupportedBitness "64" -ProjectPath "lv_icon_editor.lvproj" -TargetName "My Computer" -BuildSpecName "Editor Packed Library" -Major 1 -Minor 0 -Patch 0 -Build 0 -Commit "abc1234" + .\BuildSpecDockerWindows.ps1 -MinimumSupportedLVVersion "2026" -SupportedBitness "64" -ProjectPath "lv_icon_editor.lvproj" -TargetName "My Computer" -BuildSpecName "Editor Packed Library" -Major 1 -Minor 0 -Patch 0 -Build 0 -Commit "abc1234" .NOTES - [REQ-040] Build LabVIEW Packed Project Library using Windows Docker container + [REQ-040] Build LabVIEW build specification using Windows Docker container #> [CmdletBinding()] @@ -92,14 +92,14 @@ Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' try { - Write-Verbose "Building PPL with Windows Docker container" + Write-Verbose "Building build specification with Windows Docker container" $hasVersion = ($Major -ge 0) -and ($Minor -ge 0) -and ($Patch -ge 0) -and ($Build -ge 0) if ($hasVersion) { $versionString = "$Major.$Minor.$Patch.$Build" - Write-Information "PPL Version: $versionString" -InformationAction Continue + Write-Information "Build Specification Version: $versionString" -InformationAction Continue } else { - Write-Information "PPL Version setting skipped." -InformationAction Continue + Write-Information "Build Specification Version setting skipped." -InformationAction Continue } if ($Commit) { @@ -118,7 +118,7 @@ try { # Get the path to the PowerShell build script $scriptDir = $PSScriptRoot - $buildScript = Join-Path $scriptDir 'build-lvlibp.ps1' + $buildScript = Join-Path $scriptDir 'build-spec.ps1' if (-not (Test-Path $buildScript)) { throw "Build script not found: $buildScript" @@ -127,7 +127,7 @@ try { $actionRoot = Split-Path (Split-Path $scriptDir -Parent) -Parent Write-Verbose "Calculated action root from script path: $actionRoot" - $helperDir = Join-Path $actionRoot 'scripts' 'build-lvlibp-helpers' + $helperDir = Join-Path $actionRoot 'scripts' 'build-spec-helpers' if (-not (Test-Path $helperDir)) { throw "Helper VI directory not found: $helperDir" @@ -140,7 +140,7 @@ try { # Create temporary directory for script mounting $tempDir = Join-Path $env:TEMP "docker-build-$(New-Guid)" New-Item -Path $tempDir -ItemType Directory -Force | Out-Null - $tempScript = Join-Path $tempDir 'build-lvlibp.ps1' + $tempScript = Join-Path $tempDir 'build-spec.ps1' Copy-Item -Path $buildScript -Destination $tempScript -Force Write-Verbose "Copied build script to: $tempScript" @@ -155,7 +155,7 @@ try { # Windows container paths $containerProjectPath = "C:\workspace\$ProjectPath" - $containerScriptPath = "C:\scripts\build-lvlibp.ps1" + $containerScriptPath = "C:\scripts\build-spec.ps1" # Construct PowerShell command arguments $scriptArgs = @( @@ -198,7 +198,7 @@ try { exit 0 } catch { - Write-Error "BuildLvlibpDockerWindows failed: $_" + Write-Error "BuildSpecDockerWindows failed: $_" exit 1 } finally { diff --git a/scripts/build-lvlibp-docker-windows/build-lvlibp.ps1 b/scripts/build-spec-docker-windows/build-spec.ps1 similarity index 90% rename from scripts/build-lvlibp-docker-windows/build-lvlibp.ps1 rename to scripts/build-spec-docker-windows/build-spec.ps1 index e055be9b..30b9bce6 100644 --- a/scripts/build-lvlibp-docker-windows/build-lvlibp.ps1 +++ b/scripts/build-spec-docker-windows/build-spec.ps1 @@ -1,9 +1,9 @@ <# .SYNOPSIS - Build LabVIEW Packed Project Library using LabVIEWCLI + Build LabVIEW build specification using LabVIEWCLI .DESCRIPTION - [REQ-040] Build LVLIBP using Windows Docker container + [REQ-040] Build LabVIEW build specification using Windows Docker container .NOTES This script is executed inside the Windows Docker container. @@ -30,7 +30,7 @@ param( Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' -Write-Host "Building LabVIEW Packed Project Library..." +Write-Host "Building LabVIEW build specification..." Write-Host "LabVIEW: $LabVIEWPath" Write-Host "Project: $ProjectPath" Write-Host "Target: $(if ($TargetName) { $TargetName } else { '' })" @@ -40,7 +40,7 @@ Write-Host "Version: $(if ($Version) { $Version } else { '' })" # Set build version using helper VI if Version is provided if ($Version) { Write-Host "Setting build version to: $Version..." - $helperVI = "C:\actions\scripts\build-lvlibp-helpers\SetBuildVersionCaller.vi" + $helperVI = "C:\actions\scripts\build-spec-helpers\SetBuildVersionCaller.vi" if (-not (Test-Path $helperVI)) { throw "Helper VI not found at: $helperVI" @@ -63,7 +63,7 @@ if ($Version) { Write-Host "Build version set successfully" } else { - Write-Host "Skipping version set - using version from build spec(s)" + Write-Host "Skipping build specification version set - using version from build spec(s)" } # Construct LabVIEWCLI command diff --git a/scripts/build-lvlibp-github-hosted-windows/BuildLvlibpGithubHostedWindows.ps1 b/scripts/build-spec-github-hosted-windows/BuildSpecGithubHostedWindows.ps1 similarity index 83% rename from scripts/build-lvlibp-github-hosted-windows/BuildLvlibpGithubHostedWindows.ps1 rename to scripts/build-spec-github-hosted-windows/BuildSpecGithubHostedWindows.ps1 index 79dc671f..b22f527b 100644 --- a/scripts/build-lvlibp-github-hosted-windows/BuildLvlibpGithubHostedWindows.ps1 +++ b/scripts/build-spec-github-hosted-windows/BuildSpecGithubHostedWindows.ps1 @@ -1,6 +1,6 @@ <# .SYNOPSIS - Builds the LabVIEW Packed Project Library (.lvlibp) using Windows GitHub-hosted runner. + Builds LabVIEW build specification using Windows GitHub-hosted runner. .DESCRIPTION Executes LabVIEW build specification through LabVIEWCLI on a Windows GitHub-hosted runner. @@ -21,16 +21,16 @@ Name of the LabVIEW build specification to execute. If empty, builds all specifications in the target. .PARAMETER Major - Major version component for the PPL. Optional - if not provided, version setting is skipped. + Major version component for the build specification. Optional - if not provided, version setting is skipped. .PARAMETER Minor - Minor version component for the PPL. Optional - if not provided, version setting is skipped. + Minor version component for the build specification. Optional - if not provided, version setting is skipped. .PARAMETER Patch - Patch version component for the PPL. Optional - if not provided, version setting is skipped. + Patch version component for the build specification. Optional - if not provided, version setting is skipped. .PARAMETER Build - Build number component for the PPL. Optional - if not provided, version setting is skipped. + Build number component for the build specification. Optional - if not provided, version setting is skipped. .PARAMETER Commit Commit hash or identifier recorded in the build. @@ -39,7 +39,7 @@ .\BuildLvlibpGithubHostedWindows.ps1 -MinimumSupportedLVVersion "2025" -SupportedBitness "32" -ProjectPath "lv_icon_editor.lvproj" -TargetName "My Computer" -BuildSpecName "Editor Packed Library" -Major 1 -Minor 0 -Patch 0 -Build 0 -Commit "abc1234" .NOTES - [REQ-041] Build LabVIEW Packed Project Library using Windows GitHub-hosted runner + [REQ-041] Build LabVIEW build specification using Windows GitHub-hosted runner #> [CmdletBinding()] @@ -79,14 +79,14 @@ Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' try { - Write-Verbose "Building PPL with Windows GitHub-hosted runner" + Write-Verbose "Building build specification with Windows GitHub-hosted runner" $hasVersion = ($Major -ge 0) -and ($Minor -ge 0) -and ($Patch -ge 0) -and ($Build -ge 0) if ($hasVersion) { $versionString = "$Major.$Minor.$Patch.$Build" - Write-Information "PPL Version: $versionString" -InformationAction Continue + Write-Information "Build Specification Version: $versionString" -InformationAction Continue } else { - Write-Information "PPL Version setting skipped." -InformationAction Continue + Write-Information "Build Specification Version setting skipped." -InformationAction Continue } Write-Information "Commit: $Commit" -InformationAction Continue @@ -116,7 +116,7 @@ try { # Only set build version if Version is provided if ($hasVersion) { Write-Information "Setting build version to: $versionString..." -InformationAction Continue - $helperVI = Join-Path $PSScriptRoot '..' 'build-lvlibp-helpers' 'SetBuildVersionCaller.vi' + $helperVI = Join-Path $PSScriptRoot '..' 'build-spec-helpers' 'SetBuildVersionCaller.vi' if (-not (Test-Path $helperVI)) { throw "Helper VI not found at: $helperVI" @@ -128,9 +128,9 @@ try { # 3. TargetName (empty string to use VI default) # 4. Version (required when setting version) $projectArg = (Resolve-Path $ProjectPath).Path - $buildSpecArg = if ($BuildSpecName) { $BuildSpecName } else { '""' } - $targetArg = if ($TargetName) { $TargetName } else { '""' } - $versionArg = if ($versionString) { $versionString } else { '""' } + $buildSpecArg = if ($BuildSpecName) { $BuildSpecName } else { '' } + $targetArg = if ($TargetName) { $TargetName } else { '' } + $versionArg = if ($versionString) { $versionString } else { '' } Write-Host "Executing: LabVIEWCLI -OperationName RunVI -LabVIEWPath `"$LabVIEWPath`" -VIPath `"$helperVI`" `"$projectArg`" `"$buildSpecArg`" `"$targetArg`" `"$versionArg`" -Headless" @@ -143,7 +143,7 @@ try { Write-Information "Build version set successfully" -InformationAction Continue } else { - Write-Information "Skipping version set " -InformationAction Continue + Write-Information "Skipping build specification version set " -InformationAction Continue } # Construct LabVIEWCLI command @@ -191,6 +191,6 @@ try { exit 0 } catch { - Write-Error "BuildLvlibpGithubHostedWindows failed: $_" + Write-Error "BuildSpecGithubHostedWindows failed: $_" exit 1 } \ No newline at end of file diff --git a/scripts/build-lvlibp-helpers/README.md b/scripts/build-spec-helpers/README.md similarity index 74% rename from scripts/build-lvlibp-helpers/README.md rename to scripts/build-spec-helpers/README.md index cae16ccd..1c9c63b9 100644 --- a/scripts/build-lvlibp-helpers/README.md +++ b/scripts/build-spec-helpers/README.md @@ -1,6 +1,6 @@ -# Build LVLIBP Common Scripts +# Build LabVIEW Build Specification Common Scripts -This directory contains shared utilities used by all LVLIBP build actions. +This directory contains shared utilities used by all build specification actions. ## SetBuildVersion.vi @@ -32,7 +32,7 @@ Helper VI that sets the build version for LabVIEW build specification(s). LabVIEWCLI \ -OperationName RunVI \ -LabVIEWPath "/usr/local/natinst/LabVIEW-2025-64/labview" \ - -VIPath "/workspace/scripts/build-lvlibp-common/SetBuildVersion.vi" \ + -VIPath "/workspace/scripts/build-spec-helpers/SetBuildVersionCaller.vi" \ "/workspace/project.lvproj" "My PPL" "My Computer" "1.0.0.4"\ -Headless ``` @@ -43,16 +43,16 @@ LabVIEWCLI \ LabVIEWCLI \ -OperationName RunVI \ -LabVIEWPath "/usr/local/natinst/LabVIEW-2025-64/labview" \ - -VIPath "/workspace/scripts/build-lvlibp-common/SetBuildVersion.vi" \ + -VIPath "/workspace/scripts/build-spec-helpers/SetBuildVersionCaller.vi" \ "/workspace/project.lvproj" "" "My Computer" "2.0.0.4"\ -Headless ``` ### Used By -- [`build-lvlibp-docker-linux`](../build-lvlibp-docker-linux/BuildLvlibpDockerLinux.ps1) – When version parameters are provided -- [`build-lvlibp-docker-windows`](../build-lvlibp-docker-windows/BuildLvlibpDockerWindows.ps1) – When version parameters are provided -- [`build-lvlibp-github-hosted-windows`](../build-lvlibp-github-hosted-windows/BuildLvlibpGithubHostedWindows.ps1) – When version parameters are provided +- [`build-spec-docker-linux`](../build-spec-docker-linux/BuildSpecDockerLinux.ps1) – When version parameters are provided +- [`build-spec-docker-windows`](../build-spec-docker-windows/BuildSpecDockerWindows.ps1) – When version parameters are provided +- [`build-spec-github-hosted-windows`](../build-spec-github-hosted-windows/BuildSpecGithubHostedWindows.ps1) – When version parameters are provided ### When is the Helper VI Called? diff --git a/scripts/build-lvlibp-helpers/SetBuildVersion.vi b/scripts/build-spec-helpers/SetBuildVersion.vi similarity index 100% rename from scripts/build-lvlibp-helpers/SetBuildVersion.vi rename to scripts/build-spec-helpers/SetBuildVersion.vi diff --git a/scripts/build-spec-helpers/SetBuildVersionCaller.vi b/scripts/build-spec-helpers/SetBuildVersionCaller.vi new file mode 100644 index 00000000..c8ea4408 Binary files /dev/null and b/scripts/build-spec-helpers/SetBuildVersionCaller.vi differ diff --git a/tests/pester/BuildLvlibpDockerLinux.Workflow.Tests.ps1 b/tests/pester/BuildSpecDockerLinux.Workflow.Tests.ps1 similarity index 75% rename from tests/pester/BuildLvlibpDockerLinux.Workflow.Tests.ps1 rename to tests/pester/BuildSpecDockerLinux.Workflow.Tests.ps1 index 8d3bb56a..a769b151 100644 --- a/tests/pester/BuildLvlibpDockerLinux.Workflow.Tests.ps1 +++ b/tests/pester/BuildSpecDockerLinux.Workflow.Tests.ps1 @@ -2,11 +2,11 @@ Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' -Describe 'BuildLvlibpDockerLinux.Workflow' { +Describe 'BuildSpecDockerLinux.Workflow' { $meta = @{ requirement = 'REQ-039' Owner = 'NI' - Evidence = 'tests/pester/BuildLvlibpDockerLinux.Workflow.Tests.ps1' + Evidence = 'tests/pester/BuildSpecDockerLinux.Workflow.Tests.ps1' } BeforeAll { @@ -15,23 +15,23 @@ Describe 'BuildLvlibpDockerLinux.Workflow' { } It 'validates action.yml exists [REQ-039]' -Tag 'REQ-039' { - $actionPath = Join-Path $repoRoot 'build-lvlibp-docker-linux' 'action.yml' + $actionPath = Join-Path $repoRoot 'build-spec-docker-linux' 'action.yml' Test-Path $actionPath | Should -Be $true } It 'validates implementation script exists [REQ-039]' -Tag 'REQ-039' { - $scriptPath = Join-Path $repoRoot 'scripts' 'build-lvlibp-docker-linux' 'BuildLvlibpDockerLinux.ps1' + $scriptPath = Join-Path $repoRoot 'scripts' 'build-spec-docker-linux' 'BuildSpecDockerLinux.ps1' Test-Path $scriptPath | Should -Be $true } It 'validates inner build script exists [REQ-039]' -Tag 'REQ-039' { - $scriptPath = Join-Path $repoRoot 'scripts' 'build-lvlibp-docker-linux' 'build-lvlibp.sh' + $scriptPath = Join-Path $repoRoot 'scripts' 'build-spec-docker-linux' 'build-spec.sh' Test-Path $scriptPath | Should -Be $true } It 'executes dry-run with only required parameters [REQ-039]' -Tag 'REQ-039' { $result = & "$repoRoot/actions/Invoke-OSAction.ps1" ` - -ActionName 'build-lvlibp-docker-linux' ` + -ActionName 'build-spec-docker-linux' ` -ArgsJson '{"MinimumSupportedLVVersion":"2026","SupportedBitness":"64","ProjectPath":"test.lvproj"}' ` -DryRun @@ -40,7 +40,7 @@ Describe 'BuildLvlibpDockerLinux.Workflow' { It 'executes dry-run with all parameters [REQ-039]' -Tag 'REQ-039' { $result = & "$repoRoot/actions/Invoke-OSAction.ps1" ` - -ActionName 'build-lvlibp-docker-linux' ` + -ActionName 'build-spec-docker-linux' ` -ArgsJson '{"MinimumSupportedLVVersion":"2026","SupportedBitness":"64","ProjectPath":"test.lvproj","TargetName":"My Computer","BuildSpecName":"TestBuild","Major":1,"Minor":0,"Patch":0,"Build":0,"Commit":"abc1234","DockerImage":"nationalinstruments/labview","ImageTag":"2026q1-linux"}' ` -DryRun diff --git a/tests/pester/BuildLvlibpDockerWindows.Workflow.Tests.ps1 b/tests/pester/BuildSpecDockerWindows.Workflow.Tests.ps1 similarity index 74% rename from tests/pester/BuildLvlibpDockerWindows.Workflow.Tests.ps1 rename to tests/pester/BuildSpecDockerWindows.Workflow.Tests.ps1 index 3e582c3d..84c10a5e 100644 --- a/tests/pester/BuildLvlibpDockerWindows.Workflow.Tests.ps1 +++ b/tests/pester/BuildSpecDockerWindows.Workflow.Tests.ps1 @@ -2,11 +2,11 @@ Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' -Describe 'BuildLvlibpDockerWindows.Workflow' { +Describe 'BuildSpecDockerWindows.Workflow' { $meta = @{ requirement = 'REQ-040' Owner = 'NI' - Evidence = 'tests/pester/BuildLvlibpDockerWindows.Workflow.Tests.ps1' + Evidence = 'tests/pester/BuildSpecDockerWindows.Workflow.Tests.ps1' } BeforeAll { @@ -15,23 +15,23 @@ Describe 'BuildLvlibpDockerWindows.Workflow' { } It 'validates action.yml exists [REQ-040]' -Tag 'REQ-040' { - $actionPath = Join-Path $repoRoot 'build-lvlibp-docker-windows' 'action.yml' + $actionPath = Join-Path $repoRoot 'build-spec-docker-windows' 'action.yml' Test-Path $actionPath | Should -Be $true } It 'validates implementation script exists [REQ-040]' -Tag 'REQ-040' { - $scriptPath = Join-Path $repoRoot 'scripts' 'build-lvlibp-docker-windows' 'BuildLvlibpDockerWindows.ps1' + $scriptPath = Join-Path $repoRoot 'scripts' 'build-spec-docker-windows' 'BuildSpecDockerWindows.ps1' Test-Path $scriptPath | Should -Be $true } It 'validates inner build script exists [REQ-040]' -Tag 'REQ-040' { - $scriptPath = Join-Path $repoRoot 'scripts' 'build-lvlibp-docker-windows' 'build-lvlibp.ps1' + $scriptPath = Join-Path $repoRoot 'scripts' 'build-spec-docker-windows' 'build-spec.ps1' Test-Path $scriptPath | Should -Be $true } It 'executes dry-run with only required parameters [REQ-040]' -Tag 'REQ-040' { $result = & "$repoRoot/actions/Invoke-OSAction.ps1" ` - -ActionName 'build-lvlibp-docker-windows' ` + -ActionName 'build-spec-docker-windows' ` -ArgsJson '{"MinimumSupportedLVVersion":"2026","SupportedBitness":"64","ProjectPath":"test.lvproj"}' ` -DryRun @@ -40,7 +40,7 @@ Describe 'BuildLvlibpDockerWindows.Workflow' { It 'executes dry-run with all parameters [REQ-040]' -Tag 'REQ-040' { $result = & "$repoRoot/actions/Invoke-OSAction.ps1" ` - -ActionName 'build-lvlibp-docker-windows' ` + -ActionName 'build-spec-docker-windows' ` -ArgsJson '{"MinimumSupportedLVVersion":"2026","SupportedBitness":"64","ProjectPath":"test.lvproj","TargetName":"My Computer","BuildSpecName":"TestBuild","Major":1,"Minor":0,"Patch":0,"Build":0,"Commit":"abc1234","DockerImage":"nationalinstruments/labview","ImageTag":"2026q1-windows"}' ` -DryRun diff --git a/tests/pester/BuildLvlibpGithubHostedWindows.Workflow.Tests.ps1 b/tests/pester/BuildSpecGithubHostedWindows.Workflow.Tests.ps1 similarity index 73% rename from tests/pester/BuildLvlibpGithubHostedWindows.Workflow.Tests.ps1 rename to tests/pester/BuildSpecGithubHostedWindows.Workflow.Tests.ps1 index f39344d5..dbf3a469 100644 --- a/tests/pester/BuildLvlibpGithubHostedWindows.Workflow.Tests.ps1 +++ b/tests/pester/BuildSpecGithubHostedWindows.Workflow.Tests.ps1 @@ -2,11 +2,11 @@ Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' -Describe 'BuildLvlibpGithubHostedWindows.Workflow' { +Describe 'BuildSpecGithubHostedWindows.Workflow' { $meta = @{ requirement = 'REQ-041' Owner = 'NI' - Evidence = 'tests/pester/BuildLvlibpGithubHostedWindows.Workflow.Tests.ps1' + Evidence = 'tests/pester/BuildSpecGithubHostedWindows.Workflow.Tests.ps1' } BeforeAll { @@ -15,18 +15,18 @@ Describe 'BuildLvlibpGithubHostedWindows.Workflow' { } It 'validates action.yml exists [REQ-041]' -Tag 'REQ-041' { - $actionPath = Join-Path $repoRoot 'build-lvlibp-github-hosted-windows' 'action.yml' + $actionPath = Join-Path $repoRoot 'build-spec-github-hosted-windows' 'action.yml' Test-Path $actionPath | Should -Be $true } It 'validates implementation script exists [REQ-041]' -Tag 'REQ-041' { - $scriptPath = Join-Path $repoRoot 'scripts' 'build-lvlibp-github-hosted-windows' 'BuildLvlibpGithubHostedWindows.ps1' + $scriptPath = Join-Path $repoRoot 'scripts' 'build-spec-github-hosted-windows' 'BuildSpecGithubHostedWindows.ps1' Test-Path $scriptPath | Should -Be $true } It 'executes dry-run with only required parameters [REQ-041]' -Tag 'REQ-041' { $result = & "$repoRoot/actions/Invoke-OSAction.ps1" ` - -ActionName 'build-lvlibp-github-hosted-windows' ` + -ActionName 'build-spec-github-hosted-windows' ` -ArgsJson '{"MinimumSupportedLVVersion":"2026","SupportedBitness":"64","ProjectPath":"test.lvproj"}' ` -DryRun @@ -35,7 +35,7 @@ Describe 'BuildLvlibpGithubHostedWindows.Workflow' { It 'executes dry-run with all parameters [REQ-041]' -Tag 'REQ-041' { $result = & "$repoRoot/actions/Invoke-OSAction.ps1" ` - -ActionName 'build-lvlibp-github-hosted-windows' ` + -ActionName 'build-spec-github-hosted-windows' ` -ArgsJson '{"MinimumSupportedLVVersion":"2026","SupportedBitness":"64","ProjectPath":"test.lvproj","TargetName":"My Computer","BuildSpecName":"TestBuild","Major":1,"Minor":0,"Patch":0,"Build":0,"Commit":"abc1234"}' ` -DryRun