From 073d991330cbec33eaf43fcca70cf713c9e48a6a Mon Sep 17 00:00:00 2001 From: Amrutha G Date: Thu, 10 Sep 2026 16:47:33 +0530 Subject: [PATCH 01/10] Update CI workflow --- .github/workflows/ci.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6b0c99ae..d3c5ef15 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,6 +43,35 @@ jobs: with: fetch-depth: 0 + - name: TEMPORARY VIPM license validation + shell: bash + env: + VIPM_SERIAL_NUMBER: ${{ secrets.VIPM_SERIAL_NUMBER }} + VIPM_FULL_NAME: ${{ secrets.VIPM_FULL_NAME }} + VIPM_EMAIL: ${{ secrets.VIPM_EMAIL }} + run: | + set -euo pipefail + + echo "Validating VIPM activation in the LabVIEW Linux container..." + + docker run --rm \ + -e VIPM_SERIAL_NUMBER \ + -e VIPM_FULL_NAME \ + -e VIPM_EMAIL \ + nationalinstruments/labview:latest-linux \ + bash -lc ' + set -euo pipefail + + apt-get update + apt-get install -y wget ca-certificates + + wget -O /tmp/vipm.deb "https://download.vipm.io/vipm/2024.0/vipm_2024.0.0_linux64.deb" + apt-get install -y /tmp/vipm.deb + + vipm activate --serial-number "$VIPM_SERIAL_NUMBER" --name "$VIPM_FULL_NAME" --email "$VIPM_EMAIL" + vipm install astemes_lib_lunit_cli --labview-version 2026 --labview-bitness 64 + ' + - name: Run VI Analyzer tests uses: ni/open-source/via-lv-docker@actions with: From c50ffda765a0bfb65e8127342fbd96c0e8716031 Mon Sep 17 00:00:00 2001 From: Amrutha G Date: Thu, 10 Sep 2026 16:53:42 +0530 Subject: [PATCH 02/10] Update CI workflow for VIPM license validation --- .github/workflows/ci.yml | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d3c5ef15..6eab2af5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,7 +52,7 @@ jobs: run: | set -euo pipefail - echo "Validating VIPM activation in the LabVIEW Linux container..." + echo "Checking VIPM installation and activation in the LabVIEW Linux container..." docker run --rm \ -e VIPM_SERIAL_NUMBER \ @@ -62,14 +62,21 @@ jobs: bash -lc ' set -euo pipefail - apt-get update - apt-get install -y wget ca-certificates - - wget -O /tmp/vipm.deb "https://download.vipm.io/vipm/2024.0/vipm_2024.0.0_linux64.deb" - apt-get install -y /tmp/vipm.deb - + if ! command -v vipm >/dev/null 2>&1; then + echo "VIPM is not installed. Installing VIPM..." + apt-get update + apt-get install -y wget ca-certificates + wget -O /tmp/vipm.deb "https://download.vipm.io/vipm/2024.0/vipm_2024.0.0_linux64.deb" + apt-get install -y /tmp/vipm.deb + else + echo "VIPM is already installed." + fi + + vipm --version vipm activate --serial-number "$VIPM_SERIAL_NUMBER" --name "$VIPM_FULL_NAME" --email "$VIPM_EMAIL" vipm install astemes_lib_lunit_cli --labview-version 2026 --labview-bitness 64 + + echo "VIPM validation succeeded: VIPM is installed, activated, and LUnit is available via VIPM." ' - name: Run VI Analyzer tests From aea47aea3918e8252aa75aa3b14622f5c68a392d Mon Sep 17 00:00:00 2001 From: Amrutha G Date: Fri, 11 Sep 2026 09:45:45 +0530 Subject: [PATCH 03/10] Changed VIPM Installer URL --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6eab2af5..f20b1bae 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -66,7 +66,7 @@ jobs: echo "VIPM is not installed. Installing VIPM..." apt-get update apt-get install -y wget ca-certificates - wget -O /tmp/vipm.deb "https://download.vipm.io/vipm/2024.0/vipm_2024.0.0_linux64.deb" + wget -O /tmp/vipm.deb "https://traffic.libsyn.com/secure/jkinc/vipm_26.3.1-4025_amd64.deb" apt-get install -y /tmp/vipm.deb else echo "VIPM is already installed." From 072b9598d25038dd719cd2e66f96eeeeeec95c8d Mon Sep 17 00:00:00 2001 From: Amrutha G Date: Fri, 11 Sep 2026 11:35:49 +0530 Subject: [PATCH 04/10] Improve VIPM activation in Linux CI --- .github/workflows/ci.yml | 41 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f20b1bae..3eb1dfe1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,14 +65,53 @@ jobs: if ! command -v vipm >/dev/null 2>&1; then echo "VIPM is not installed. Installing VIPM..." apt-get update - apt-get install -y wget ca-certificates + apt-get install -y wget ca-certificates xvfb wget -O /tmp/vipm.deb "https://traffic.libsyn.com/secure/jkinc/vipm_26.3.1-4025_amd64.deb" apt-get install -y /tmp/vipm.deb else echo "VIPM is already installed." fi + export DISPLAY=:99 + export VIPM_TIMEOUT=500 + + echo "DISPLAY=$DISPLAY" + echo "vipm version:" vipm --version + + if ! pgrep -x Xvfb >/dev/null 2>&1; then + echo "Starting Xvfb on DISPLAY=$DISPLAY..." + Xvfb "$DISPLAY" -screen 0 1280x720x24 -ac +extension GLX +render -noreset >/tmp/xvfb.log 2>&1 & + else + echo "Xvfb is already running." + fi + + mkdir -p /tmp/natinst + echo "1" > /tmp/natinst/LVContainer.txt + + if ! pgrep -x labview >/dev/null 2>&1; then + echo "Locating LabVIEW executable..." + LABVIEW_BIN="$(find / -path '*LabVIEW*' -name labview 2>/dev/null | head -n 1)" + + if [ -z "$LABVIEW_BIN" ]; then + echo "ERROR: LabVIEW executable not found in the container." + find / -maxdepth 6 \( -path '*/LabVIEW*' -o -path '*/natinst*' \) 2>/dev/null | head -n 200 || true + exit 1 + fi + + echo "Using LabVIEW binary: $LABVIEW_BIN" + "$LABVIEW_BIN" --headless >/tmp/labview.log 2>&1 & + else + echo "LabVIEW is already running." + fi + + echo "Xvfb status:" + pgrep -a -x Xvfb || true + + echo "LabVIEW status:" + pgrep -a -x labview || true + + echo "VIPM startup diagnostics complete. Attempting activation..." vipm activate --serial-number "$VIPM_SERIAL_NUMBER" --name "$VIPM_FULL_NAME" --email "$VIPM_EMAIL" vipm install astemes_lib_lunit_cli --labview-version 2026 --labview-bitness 64 From 693c4c6c0e64d11d1bbd68985f20f64d4f18913c Mon Sep 17 00:00:00 2001 From: Amrutha G Date: Mon, 21 Sep 2026 14:08:16 +0530 Subject: [PATCH 05/10] Fix VIPM CI container environment passing --- .github/workflows/ci.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3eb1dfe1..1035007e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,9 +55,9 @@ jobs: echo "Checking VIPM installation and activation in the LabVIEW Linux container..." docker run --rm \ - -e VIPM_SERIAL_NUMBER \ - -e VIPM_FULL_NAME \ - -e VIPM_EMAIL \ + -e VIPM_SERIAL_NUMBER="${VIPM_SERIAL_NUMBER}" \ + -e VIPM_FULL_NAME="${VIPM_FULL_NAME}" \ + -e VIPM_EMAIL="${VIPM_EMAIL}" \ nationalinstruments/labview:latest-linux \ bash -lc ' set -euo pipefail @@ -79,6 +79,9 @@ jobs: echo "vipm version:" vipm --version + echo "vipm help:" + vipm help + if ! pgrep -x Xvfb >/dev/null 2>&1; then echo "Starting Xvfb on DISPLAY=$DISPLAY..." Xvfb "$DISPLAY" -screen 0 1280x720x24 -ac +extension GLX +render -noreset >/tmp/xvfb.log 2>&1 & @@ -112,6 +115,11 @@ jobs: pgrep -a -x labview || true echo "VIPM startup diagnostics complete. Attempting activation..." + if ! vipm help | grep -q 'activate'; then + echo "ERROR: This VIPM CLI does not support 'vipm activate'." + exit 1 + fi + vipm activate --serial-number "$VIPM_SERIAL_NUMBER" --name "$VIPM_FULL_NAME" --email "$VIPM_EMAIL" vipm install astemes_lib_lunit_cli --labview-version 2026 --labview-bitness 64 From d2b43cf991ab97f113b5439f81381556073e55b2 Mon Sep 17 00:00:00 2001 From: Amrutha G Date: Mon, 21 Sep 2026 17:34:01 +0530 Subject: [PATCH 06/10] Fix VIPM CI shell script quoting --- .github/workflows/ci.yml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1035007e..21be60fe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -59,7 +59,7 @@ jobs: -e VIPM_FULL_NAME="${VIPM_FULL_NAME}" \ -e VIPM_EMAIL="${VIPM_EMAIL}" \ nationalinstruments/labview:latest-linux \ - bash -lc ' + bash -s <<'VIPM_SCRIPT' set -euo pipefail if ! command -v vipm >/dev/null 2>&1; then @@ -79,9 +79,6 @@ jobs: echo "vipm version:" vipm --version - echo "vipm help:" - vipm help - if ! pgrep -x Xvfb >/dev/null 2>&1; then echo "Starting Xvfb on DISPLAY=$DISPLAY..." Xvfb "$DISPLAY" -screen 0 1280x720x24 -ac +extension GLX +render -noreset >/tmp/xvfb.log 2>&1 & @@ -115,16 +112,11 @@ jobs: pgrep -a -x labview || true echo "VIPM startup diagnostics complete. Attempting activation..." - if ! vipm help | grep -q 'activate'; then - echo "ERROR: This VIPM CLI does not support 'vipm activate'." - exit 1 - fi - vipm activate --serial-number "$VIPM_SERIAL_NUMBER" --name "$VIPM_FULL_NAME" --email "$VIPM_EMAIL" vipm install astemes_lib_lunit_cli --labview-version 2026 --labview-bitness 64 echo "VIPM validation succeeded: VIPM is installed, activated, and LUnit is available via VIPM." - ' + VIPM_SCRIPT - name: Run VI Analyzer tests uses: ni/open-source/via-lv-docker@actions From efab199919a58e4714a7e41a6996f7235274fc2a Mon Sep 17 00:00:00 2001 From: Amrutha G Date: Tue, 22 Sep 2026 12:18:39 +0530 Subject: [PATCH 07/10] Fix LabVIEW discovery in VIPM CI validation --- .github/workflows/ci.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 21be60fe..ed7a3d27 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,7 +52,7 @@ jobs: run: | set -euo pipefail - echo "Checking VIPM installation and activation in the LabVIEW Linux container..." + echo "Checking VIPM installation " docker run --rm \ -e VIPM_SERIAL_NUMBER="${VIPM_SERIAL_NUMBER}" \ @@ -91,7 +91,10 @@ jobs: if ! pgrep -x labview >/dev/null 2>&1; then echo "Locating LabVIEW executable..." - LABVIEW_BIN="$(find / -path '*LabVIEW*' -name labview 2>/dev/null | head -n 1)" + LABVIEW_BIN="$(command -v labview64 || true)" + if [ -z "$LABVIEW_BIN" ]; then + LABVIEW_BIN="$(find / -path '*LabVIEW*' -name labview 2>/dev/null | head -n 1)" + fi if [ -z "$LABVIEW_BIN" ]; then echo "ERROR: LabVIEW executable not found in the container." @@ -99,6 +102,11 @@ jobs: exit 1 fi + if [ ! -x "$LABVIEW_BIN" ]; then + echo "ERROR: LabVIEW executable is not executable: $LABVIEW_BIN" + exit 1 + fi + echo "Using LabVIEW binary: $LABVIEW_BIN" "$LABVIEW_BIN" --headless >/tmp/labview.log 2>&1 & else From 7ddee502871db227afb41be7b657fff12996f5cb Mon Sep 17 00:00:00 2001 From: Amrutha G Date: Tue, 22 Sep 2026 14:09:49 +0530 Subject: [PATCH 08/10] Improve LabVIEW startup validation in CI --- .github/workflows/ci.yml | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ed7a3d27..521c70be 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,7 +52,7 @@ jobs: run: | set -euo pipefail - echo "Checking VIPM installation " + echo "Checking VIPM installation" docker run --rm \ -e VIPM_SERIAL_NUMBER="${VIPM_SERIAL_NUMBER}" \ @@ -89,7 +89,7 @@ jobs: mkdir -p /tmp/natinst echo "1" > /tmp/natinst/LVContainer.txt - if ! pgrep -x labview >/dev/null 2>&1; then + if ! pgrep -x labview >/dev/null 2>&1 && ! pgrep -x labview64 >/dev/null 2>&1; then echo "Locating LabVIEW executable..." LABVIEW_BIN="$(command -v labview64 || true)" if [ -z "$LABVIEW_BIN" ]; then @@ -109,6 +109,15 @@ jobs: echo "Using LabVIEW binary: $LABVIEW_BIN" "$LABVIEW_BIN" --headless >/tmp/labview.log 2>&1 & + LABVIEW_PID=$! + echo "Waiting for LabVIEW startup (pid $LABVIEW_PID)..." + sleep 15 + if ! kill -0 "$LABVIEW_PID" 2>/dev/null; then + echo "ERROR: LabVIEW exited during startup." + cat /tmp/labview.log || true + exit 1 + fi + echo "LabVIEW startup check passed." else echo "LabVIEW is already running." fi @@ -117,11 +126,26 @@ jobs: pgrep -a -x Xvfb || true echo "LabVIEW status:" - pgrep -a -x labview || true + pgrep -a labview || true + pgrep -a labview64 || true echo "VIPM startup diagnostics complete. Attempting activation..." - vipm activate --serial-number "$VIPM_SERIAL_NUMBER" --name "$VIPM_FULL_NAME" --email "$VIPM_EMAIL" - vipm install astemes_lib_lunit_cli --labview-version 2026 --labview-bitness 64 + if vipm activate --serial-number "$VIPM_SERIAL_NUMBER" --name "$VIPM_FULL_NAME" --email "$VIPM_EMAIL"; then + echo "VIPM activation succeeded (exit code 0)." + else + activation_status=$? + echo "VIPM activation failed (exit code $activation_status)." + exit "$activation_status" + fi + + echo "Installing LUnit package..." + if vipm install astemes_lib_lunit_cli --labview-version 2026 --labview-bitness 64; then + echo "LUnit package installation succeeded (exit code 0)." + else + install_status=$? + echo "LUnit package installation failed (exit code $install_status)." + exit "$install_status" + fi echo "VIPM validation succeeded: VIPM is installed, activated, and LUnit is available via VIPM." VIPM_SCRIPT From a22593185fa5ba627f6f5cc1b594710c61e73b72 Mon Sep 17 00:00:00 2001 From: Amrutha G Date: Tue, 22 Sep 2026 14:33:59 +0530 Subject: [PATCH 09/10] Improve LabVIEW startup validation in CI --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 521c70be..4dfadd83 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -96,6 +96,9 @@ jobs: LABVIEW_BIN="$(find / -path '*LabVIEW*' -name labview 2>/dev/null | head -n 1)" fi + echo "LABVIEW_BIN='$LABVIEW_BIN'" + command -v labview64 || true + if [ -z "$LABVIEW_BIN" ]; then echo "ERROR: LabVIEW executable not found in the container." find / -maxdepth 6 \( -path '*/LabVIEW*' -o -path '*/natinst*' \) 2>/dev/null | head -n 200 || true From fcc9c64324938796e9012f64c51e080bf0bfa479 Mon Sep 17 00:00:00 2001 From: Amrutha G Date: Tue, 22 Sep 2026 16:51:57 +0530 Subject: [PATCH 10/10] Attach Docker stdin for VIPM validation --- .github/workflows/ci.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4dfadd83..621c79a1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -53,14 +53,16 @@ jobs: set -euo pipefail echo "Checking VIPM installation" + echo "Starting Linux VIPM container..." - docker run --rm \ + docker run --rm -i \ -e VIPM_SERIAL_NUMBER="${VIPM_SERIAL_NUMBER}" \ -e VIPM_FULL_NAME="${VIPM_FULL_NAME}" \ -e VIPM_EMAIL="${VIPM_EMAIL}" \ nationalinstruments/labview:latest-linux \ bash -s <<'VIPM_SCRIPT' set -euo pipefail + echo "VIPM container script started." if ! command -v vipm >/dev/null 2>&1; then echo "VIPM is not installed. Installing VIPM..." @@ -153,6 +155,8 @@ jobs: echo "VIPM validation succeeded: VIPM is installed, activated, and LUnit is available via VIPM." VIPM_SCRIPT + echo "Linux VIPM container exited successfully." + - name: Run VI Analyzer tests uses: ni/open-source/via-lv-docker@actions with: