From 1003f7e4cab5bf70a60e90a5a8f8a1b027c88818 Mon Sep 17 00:00:00 2001 From: sergiov-ni Date: Wed, 20 Aug 2025 12:45:46 -0700 Subject: [PATCH] Refactor icon editor requirements to dispatcher [REQIE-001] --- docs/requirements-icon-editor.md | 16 ++---- requirements-icon-editor.json | 94 +++----------------------------- requirements.json | 94 +++----------------------------- 3 files changed, 20 insertions(+), 184 deletions(-) diff --git a/docs/requirements-icon-editor.md b/docs/requirements-icon-editor.md index 533010a4..5c3090a3 100644 --- a/docs/requirements-icon-editor.md +++ b/docs/requirements-icon-editor.md @@ -8,18 +8,10 @@ Runner Type indicates whether a requirement runs on a standard GitHub-hosted ima | ID | Description | Tests | Runner | Runner Type | Skip Dry Run | |----|-------------|-------|--------|-------------|--------------| -| 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 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 | -| REQIE-004 | After checking out the LabVIEW icon editor repository, Setup: The 'missing-in-project' check shall be executed for the specified LabVIEW version(s) and both 32-bit and 64-bit bitness as applicable. Evidence: 'missing-in-project.json' including project-file, lv-version, bitness, and result. Acceptance: result == 'present' for expected module paths. g-cli is expected at 'C:\Program Files\G-CLI\bin\g-cli.exe'. | `tests/pester/BuildProfile1.IconEditor.Setup.missing-in-project-matrix.ps1` | self-hosted-windows-lv | integration | true | -| REQIE-005 | After checking out the LabVIEW icon editor repository, Main: Unit tests shall be executed (Pester) across the configured matrix. Evidence: a 'pester-summary.json' file containing total, passed, failed, skipped, duration_ms, and per-test results; XML output is not required. Acceptance: failed == 0 and total >= 1. g-cli is expected at 'C:\Program Files\G-CLI\bin\g-cli.exe'. | `tests/pester/BuildProfile1.IconEditor.Main.unit-tests-pass.ps1` | self-hosted-windows-lv | integration | true | -| REQIE-006 | After checking out the LabVIEW icon editor repository, Main: Build Packed Libraries (PPL) shall succeed for both 32-bit and 64-bit targets. Evidence: existence of 'resource/plugins/lv_icon_x86_v<version>.lvlibp' and 'resource/plugins/lv_icon_x64_v<version>.lvlibp' and a 'ppl.hash' file containing SHA256 for each artifact. Acceptance: non-zero artifact sizes and matching SHA256 re-computation. g-cli is expected at 'C:\Program Files\G-CLI\bin\g-cli.exe'. | `tests/pester/BuildProfile1.IconEditor.Main.ppl-built-and-hashed.ps1`, `tests/pester/BuildProfile1.IconEditor.Main.artifact-size-nonzero.ps1` | self-hosted-windows-lv | integration | true | -| REQIE-007 | After checking out the LabVIEW icon editor repository, Main: Renaming and artifact upload steps shall complete. Evidence: an 'artifact-manifest.json' listing uploaded artifact names ('lv_icon_x86_v<version>.lvlibp', 'lv_icon_x64_v<version>.lvlibp'), paths, and sizes. Acceptance: manifest entries match on-disk files and GitHub Artifacts report success. g-cli is expected at 'C:\Program Files\G-CLI\bin\g-cli.exe'. | `tests/pester/BuildProfile1.IconEditor.Main.artifacts-renamed-and-uploaded.ps1` | self-hosted-windows-lv | integration | true | -| REQIE-008 | After checking out the LabVIEW icon editor repository, Main: The workflow shall generate a VI Package (.vip) using the prescribed actions and inputs. Evidence: 'vi-package.hash' (SHA256 of produced .vip), and a 'vi-package.json' summarizing package metadata (name, version, company, build). Acceptance: at least one .vip exists, size > 0, and hash is recorded. g-cli is expected at 'C:\Program Files\G-CLI\bin\g-cli.exe'. | `tests/pester/BuildProfile1.IconEditor.Main.vi-package-built-and-hashed.ps1` | self-hosted-windows-lv | integration | true | -| REQIE-009 | After checking out the LabVIEW icon editor repository, Main: The workflow shall produce a display information JSON for the VI Package and inject it prior to packaging. Evidence: 'display-info.json' containing the exact keys used by the action (Package Version.major/minor/patch/build, Product/Company/Author fields, etc.). Acceptance: all required keys exist and reflect the computed version (REQ-011). g-cli is expected at 'C:\Program Files\G-CLI\bin\g-cli.exe'. | `tests/pester/BuildProfile1.IconEditor.Main.display-info-generated.ps1` | self-hosted-windows-lv | integration | true | -| REQIE-010 | After checking out the LabVIEW icon editor repository, Cleanup: The workflow shall terminate any LabVIEW processes via the 'close-labview' step for each applicable bitness. Evidence: 'close-labview.log' including bitness, attempts, and final process list. Acceptance: no LabVIEW process remains after the step. g-cli is expected at 'C:\Program Files\G-CLI\bin\g-cli.exe'. | `tests/pester/BuildProfile1.IconEditor.Cleanup.labview-closed.ps1` | self-hosted-windows-lv | integration | true | -| REQIE-011 | After checking out the LabVIEW icon editor repository, PostSequence: The sequencer shall assemble a canonical single-line CI evidence string summarizing statuses and key facts for REQ-001..REQ-018. The string SHALL be a minified JSON assigned to a step output named 'CI_EVIDENCE' and saved as 'ci_evidence.txt'. Acceptance: the string parses as JSON and includes {"pipeline":"IconEditor", "git_sha":..., "matrix":[...], "version":{...}, "artifacts":{...}, "req_status":{"REQ-001":"PASS"\|"FAIL", ...}}. g-cli is expected at 'C:\Program Files\G-CLI\bin\g-cli.exe'. | `tests/pester/BuildProfile1.IconEditor.PostSequence.ci-evidence-assembled.ps1`, `tests/pester/BuildProfile1.IconEditor.PostSequence.ci-evidence-output.ps1` | self-hosted-windows-lv | integration | true | -| REQIE-012 | After checking out the LabVIEW icon editor repository, PostSequence: The CI evidence string shall be logged succinctly to the job summary and made available to downstream jobs via $GITHUB_OUTPUT. Evidence: the step output 'CI_EVIDENCE' is present and a 'summary.md' contains a redacted preview. Acceptance: dependent jobs can read 'needs.<job>.outputs.CI_EVIDENCE' and parse it successfully. g-cli is expected at 'C:\Program Files\G-CLI\bin\g-cli.exe'. | `tests/pester/BuildProfile1.IconEditor.PostSequence.ci-evidence-published.ps1` | self-hosted-windows-lv | integration | true | +| REQIE-001 | Dispatcher dry-runs add-token-to-labview with expected arguments. | `tests/pester/BuildProfile1.IconEditor.AddTokenToLabview.Dispatcher.Tests.ps1` | self-hosted-windows-lv | integration | false | +| REQIE-002 | Dispatcher dry-runs apply-vipc with expected arguments including VIP_LVVersion and VIPCPath. | `tests/pester/BuildProfile1.IconEditor.ApplyVipc.Dispatcher.Tests.ps1` | self-hosted-windows-lv | integration | false | +| REQIE-008 | Dispatcher dry-runs build-vi-package with expected metadata and paths. | `tests/pester/BuildProfile1.IconEditor.BuildViPackage.Dispatcher.Tests.ps1` | self-hosted-windows-lv | integration | false | +| REQIE-010 | Dispatcher dry-runs close-labview with expected arguments. | `tests/pester/BuildProfile1.IconEditor.CloseLabview.Dispatcher.Tests.ps1` | self-hosted-windows-lv | integration | false | Each test file is annotated with its corresponding requirement ID to maintain traceability between requirements and test coverage. diff --git a/requirements-icon-editor.json b/requirements-icon-editor.json index 82a93ae9..53861fbe 100644 --- a/requirements-icon-editor.json +++ b/requirements-icon-editor.json @@ -22,112 +22,34 @@ "requirements": [ { "id": "REQIE-001", - "description": "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'.", - "skip_dry_run": true, + "description": "Dispatcher dry-runs add-token-to-labview with expected arguments.", "runner": "self-hosted-windows-lv-integration", "tests": [ - "BuildProfile1.IconEditor.PreSequence.matrix-enumeration" + "BuildProfile1.IconEditor.AddTokenToLabview.Dispatcher.Tests" ] }, { "id": "REQIE-002", - "description": "After checking out the LabVIEW icon editor repository, Setup: For each matrix entry, the sequencer shall apply 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'.", - "skip_dry_run": true, + "description": "Dispatcher dry-runs apply-vipc with expected arguments including VIP_LVVersion and VIPCPath.", "runner": "self-hosted-windows-lv-integration", "tests": [ - "BuildProfile1.IconEditor.Setup.apply-vipc-succeeds" - ] - }, - { - "id": "REQIE-003", - "description": "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'.", - "skip_dry_run": true, - "runner": "self-hosted-windows-lv-integration", - "tests": [ - "BuildProfile1.IconEditor.Setup.version-outputs-captured" - ] - }, - { - "id": "REQIE-004", - "description": "After checking out the LabVIEW icon editor repository, Setup: The 'missing-in-project' check shall be executed for the specified LabVIEW version(s) and both 32-bit and 64-bit bitness as applicable. Evidence: 'missing-in-project.json' including project-file, lv-version, bitness, and result. Acceptance: result == 'present' for expected module paths. g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, - "runner": "self-hosted-windows-lv-integration", - "tests": [ - "BuildProfile1.IconEditor.Setup.missing-in-project-matrix" - ] - }, - { - "id": "REQIE-005", - "description": "After checking out the LabVIEW icon editor repository, Main: Unit tests shall be executed (Pester) across the configured matrix. Evidence: a 'pester-summary.json' file containing total, passed, failed, skipped, duration_ms, and per-test results; XML output is not required. Acceptance: failed == 0 and total >= 1. g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, - "runner": "self-hosted-windows-lv-integration", - "tests": [ - "BuildProfile1.IconEditor.Main.unit-tests-pass" - ] - }, - { - "id": "REQIE-006", - "description": "After checking out the LabVIEW icon editor repository, Main: Build Packed Libraries (PPL) shall succeed for both 32-bit and 64-bit targets. Evidence: existence of 'resource/plugins/lv_icon_x86_v.lvlibp' and 'resource/plugins/lv_icon_x64_v.lvlibp' and a 'ppl.hash' file containing SHA256 for each artifact. Acceptance: non-zero artifact sizes and matching SHA256 re-computation. g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, - "runner": "self-hosted-windows-lv-integration", - "tests": [ - "BuildProfile1.IconEditor.Main.ppl-built-and-hashed", - "BuildProfile1.IconEditor.Main.artifact-size-nonzero" - ] - }, - { - "id": "REQIE-007", - "description": "After checking out the LabVIEW icon editor repository, Main: Renaming and artifact upload steps shall complete. Evidence: an 'artifact-manifest.json' listing uploaded artifact names ('lv_icon_x86_v.lvlibp', 'lv_icon_x64_v.lvlibp'), paths, and sizes. Acceptance: manifest entries match on-disk files and GitHub Artifacts report success. g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, - "runner": "self-hosted-windows-lv-integration", - "tests": [ - "BuildProfile1.IconEditor.Main.artifacts-renamed-and-uploaded" + "BuildProfile1.IconEditor.ApplyVipc.Dispatcher.Tests" ] }, { "id": "REQIE-008", - "description": "After checking out the LabVIEW icon editor repository, Main: The workflow shall generate a VI Package (.vip) using the prescribed actions and inputs. Evidence: 'vi-package.hash' (SHA256 of produced .vip), and a 'vi-package.json' summarizing package metadata (name, version, company, build). Acceptance: at least one .vip exists, size > 0, and hash is recorded. g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, - "runner": "self-hosted-windows-lv-integration", - "tests": [ - "BuildProfile1.IconEditor.Main.vi-package-built-and-hashed" - ] - }, - { - "id": "REQIE-009", - "description": "After checking out the LabVIEW icon editor repository, Main: The workflow shall produce a display information JSON for the VI Package and inject it prior to packaging. Evidence: 'display-info.json' containing the exact keys used by the action (Package Version.major/minor/patch/build, Product/Company/Author fields, etc.). Acceptance: all required keys exist and reflect the computed version (REQ-011). g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, + "description": "Dispatcher dry-runs build-vi-package with expected metadata and paths.", "runner": "self-hosted-windows-lv-integration", "tests": [ - "BuildProfile1.IconEditor.Main.display-info-generated" + "BuildProfile1.IconEditor.BuildViPackage.Dispatcher.Tests" ] }, { "id": "REQIE-010", - "description": "After checking out the LabVIEW icon editor repository, Cleanup: The workflow shall terminate any LabVIEW processes via the 'close-labview' step for each applicable bitness. Evidence: 'close-labview.log' including bitness, attempts, and final process list. Acceptance: no LabVIEW process remains after the step. g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, - "runner": "self-hosted-windows-lv-integration", - "tests": [ - "BuildProfile1.IconEditor.Cleanup.labview-closed" - ] - }, - { - "id": "REQIE-011", - "description": "After checking out the LabVIEW icon editor repository, PostSequence: The sequencer shall assemble a canonical single-line CI evidence string summarizing statuses and key facts for REQ-001..REQ-018. The string SHALL be a minified JSON assigned to a step output named 'CI_EVIDENCE' and saved as 'ci_evidence.txt'. Acceptance: the string parses as JSON and includes {\"pipeline\":\"IconEditor\", \"git_sha\":..., \"matrix\":[...], \"version\":{...}, \"artifacts\":{...}, \"req_status\":{\"REQ-001\":\"PASS\"|\"FAIL\", ...}}. g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, - "runner": "self-hosted-windows-lv-integration", - "tests": [ - "BuildProfile1.IconEditor.PostSequence.ci-evidence-assembled", - "BuildProfile1.IconEditor.PostSequence.ci-evidence-output" - ] - }, - { - "id": "REQIE-012", - "description": "After checking out the LabVIEW icon editor repository, PostSequence: The CI evidence string shall be logged succinctly to the job summary and made available to downstream jobs via $GITHUB_OUTPUT. Evidence: the step output 'CI_EVIDENCE' is present and a 'summary.md' contains a redacted preview. Acceptance: dependent jobs can read 'needs..outputs.CI_EVIDENCE' and parse it successfully. g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, + "description": "Dispatcher dry-runs close-labview with expected arguments.", "runner": "self-hosted-windows-lv-integration", "tests": [ - "BuildProfile1.IconEditor.PostSequence.ci-evidence-published" + "BuildProfile1.IconEditor.CloseLabview.Dispatcher.Tests" ] } ] diff --git a/requirements.json b/requirements.json index 00f98c77..46e1b8ff 100644 --- a/requirements.json +++ b/requirements.json @@ -269,112 +269,34 @@ }, { "id": "REQIE-001", - "description": "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'.", - "skip_dry_run": true, + "description": "Dispatcher dry-runs add-token-to-labview with expected arguments.", "runner": "self-hosted-windows-lv-integration", "tests": [ - "BuildProfile1.IconEditor.PreSequence.matrix-enumeration" + "BuildProfile1.IconEditor.AddTokenToLabview.Dispatcher.Tests" ] }, { "id": "REQIE-002", - "description": "After checking out the LabVIEW icon editor repository, Setup: For each matrix entry, the sequencer shall apply 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'.", - "skip_dry_run": true, + "description": "Dispatcher dry-runs apply-vipc with expected arguments including VIP_LVVersion and VIPCPath.", "runner": "self-hosted-windows-lv-integration", "tests": [ - "BuildProfile1.IconEditor.Setup.apply-vipc-succeeds" - ] - }, - { - "id": "REQIE-003", - "description": "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'.", - "skip_dry_run": true, - "runner": "self-hosted-windows-lv-integration", - "tests": [ - "BuildProfile1.IconEditor.Setup.version-outputs-captured" - ] - }, - { - "id": "REQIE-004", - "description": "After checking out the LabVIEW icon editor repository, Setup: The 'missing-in-project' check shall be executed for the specified LabVIEW version(s) and both 32-bit and 64-bit bitness as applicable. Evidence: 'missing-in-project.json' including project-file, lv-version, bitness, and result. Acceptance: result == 'present' for expected module paths. g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, - "runner": "self-hosted-windows-lv-integration", - "tests": [ - "BuildProfile1.IconEditor.Setup.missing-in-project-matrix" - ] - }, - { - "id": "REQIE-005", - "description": "After checking out the LabVIEW icon editor repository, Main: Unit tests shall be executed (Pester) across the configured matrix. Evidence: a 'pester-summary.json' file containing total, passed, failed, skipped, duration_ms, and per-test results; XML output is not required. Acceptance: failed == 0 and total >= 1. g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, - "runner": "self-hosted-windows-lv-integration", - "tests": [ - "BuildProfile1.IconEditor.Main.unit-tests-pass" - ] - }, - { - "id": "REQIE-006", - "description": "After checking out the LabVIEW icon editor repository, Main: Build Packed Libraries (PPL) shall succeed for both 32-bit and 64-bit targets. Evidence: existence of 'resource/plugins/lv_icon_x86_v.lvlibp' and 'resource/plugins/lv_icon_x64_v.lvlibp' and a 'ppl.hash' file containing SHA256 for each artifact. Acceptance: non-zero artifact sizes and matching SHA256 re-computation. g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, - "runner": "self-hosted-windows-lv-integration", - "tests": [ - "BuildProfile1.IconEditor.Main.ppl-built-and-hashed", - "BuildProfile1.IconEditor.Main.artifact-size-nonzero" - ] - }, - { - "id": "REQIE-007", - "description": "After checking out the LabVIEW icon editor repository, Main: Renaming and artifact upload steps shall complete. Evidence: an 'artifact-manifest.json' listing uploaded artifact names ('lv_icon_x86_v.lvlibp', 'lv_icon_x64_v.lvlibp'), paths, and sizes. Acceptance: manifest entries match on-disk files and GitHub Artifacts report success. g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, - "runner": "self-hosted-windows-lv-integration", - "tests": [ - "BuildProfile1.IconEditor.Main.artifacts-renamed-and-uploaded" + "BuildProfile1.IconEditor.ApplyVipc.Dispatcher.Tests" ] }, { "id": "REQIE-008", - "description": "After checking out the LabVIEW icon editor repository, Main: The workflow shall generate a VI Package (.vip) using the prescribed actions and inputs. Evidence: 'vi-package.hash' (SHA256 of produced .vip), and a 'vi-package.json' summarizing package metadata (name, version, company, build). Acceptance: at least one .vip exists, size > 0, and hash is recorded. g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, - "runner": "self-hosted-windows-lv-integration", - "tests": [ - "BuildProfile1.IconEditor.Main.vi-package-built-and-hashed" - ] - }, - { - "id": "REQIE-009", - "description": "After checking out the LabVIEW icon editor repository, Main: The workflow shall produce a display information JSON for the VI Package and inject it prior to packaging. Evidence: 'display-info.json' containing the exact keys used by the action (Package Version.major/minor/patch/build, Product/Company/Author fields, etc.). Acceptance: all required keys exist and reflect the computed version (REQ-011). g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, + "description": "Dispatcher dry-runs build-vi-package with expected metadata and paths.", "runner": "self-hosted-windows-lv-integration", "tests": [ - "BuildProfile1.IconEditor.Main.display-info-generated" + "BuildProfile1.IconEditor.BuildViPackage.Dispatcher.Tests" ] }, { "id": "REQIE-010", - "description": "After checking out the LabVIEW icon editor repository, Cleanup: The workflow shall terminate any LabVIEW processes via the 'close-labview' step for each applicable bitness. Evidence: 'close-labview.log' including bitness, attempts, and final process list. Acceptance: no LabVIEW process remains after the step. g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, - "runner": "self-hosted-windows-lv-integration", - "tests": [ - "BuildProfile1.IconEditor.Cleanup.labview-closed" - ] - }, - { - "id": "REQIE-011", - "description": "After checking out the LabVIEW icon editor repository, PostSequence: The sequencer shall assemble a canonical single-line CI evidence string summarizing statuses and key facts for REQ-001..REQ-018. The string SHALL be a minified JSON assigned to a step output named 'CI_EVIDENCE' and saved as 'ci_evidence.txt'. Acceptance: the string parses as JSON and includes {\"pipeline\":\"IconEditor\", \"git_sha\":..., \"matrix\":[...], \"version\":{...}, \"artifacts\":{...}, \"req_status\":{\"REQ-001\":\"PASS\"|\"FAIL\", ...}}. g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, - "runner": "self-hosted-windows-lv-integration", - "tests": [ - "BuildProfile1.IconEditor.PostSequence.ci-evidence-assembled", - "BuildProfile1.IconEditor.PostSequence.ci-evidence-output" - ] - }, - { - "id": "REQIE-012", - "description": "After checking out the LabVIEW icon editor repository, PostSequence: The CI evidence string shall be logged succinctly to the job summary and made available to downstream jobs via $GITHUB_OUTPUT. Evidence: the step output 'CI_EVIDENCE' is present and a 'summary.md' contains a redacted preview. Acceptance: dependent jobs can read 'needs..outputs.CI_EVIDENCE' and parse it successfully. g-cli is expected at 'C:\\Program Files\\G-CLI\\bin\\g-cli.exe'.", - "skip_dry_run": true, + "description": "Dispatcher dry-runs close-labview with expected arguments.", "runner": "self-hosted-windows-lv-integration", "tests": [ - "BuildProfile1.IconEditor.PostSequence.ci-evidence-published" + "BuildProfile1.IconEditor.CloseLabview.Dispatcher.Tests" ] } ]