Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions .github/labview-ci.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
# LabVIEW CI install manifest - generated by the configurator
# LabVIEW CI install manifest - generated by .github/labview-ci/install.py
# Records what was installed so the install can be reviewed, re-run, or upgraded.
schemaVersion: 1
installedAt: 2026-06-18T20:46:03Z
installedVersion: 3.4.31
installedAt: 2026-06-18T21:15:45Z
source:
repo: elijah286/LabVIEW-CI-with-Containers
ref: v3.4.30
ref: v3.4.31
config:
labviewVersion: "2026"
branch: main
os: [windows, linux]
activities:
- dashboard
Expand Down
13 changes: 12 additions & 1 deletion .github/labview-ci/catalog.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,22 @@
{
"schemaVersion": 1,
"version": "3.4.30",
"version": "3.4.31",
"name": "LabVIEW CI",
"description": "Portable, repo-agnostic CI/CD capabilities for LabVIEW repositories: mass compile, VI Analyzer, VIDiff comparison reports, VI snapshots / VI Browser, and a status dashboard. Driven entirely by this catalog so the configurator UI and the installer stay in sync and new capabilities are a one-entry change.",
"history": {
"comment": "Release notes for the tooling, newest first. `version` (above) is the CURRENT published release and MUST equal releases[0].version. The dashboard version badge and the What's New dialog read these notes to tell a consumer what changed between the version they run and the latest this source repo publishes. Each published version should also be tagged v<version> in this repo so consumers can pin an update to a specific release.",
"releases": [
{
"version": "3.4.31",
"date": "2026-06-18",
"title": "VI Browser tree: file extensions are shown and the folder tree opens expanded",
"summary": "Two quality-of-life changes to the VI Browser's file tree. File names now keep their extension - for example 'Initialize Listener.vi' or 'Controller Commands.ctl' - instead of being stripped to the bare name, so VIs and type definitions are easy to tell apart at a glance. And the folder tree now opens fully expanded every time you open the VI Browser, so the whole VI hierarchy is visible immediately instead of collapsed to the top-level folder. Your own expand and collapse choices are still preserved while you browse, and the Expand all and Collapse all controls work exactly as before.",
"highlights": [
"File-tree labels now include the extension (.vi, .ctl), so VIs and controls are distinguishable at a glance.",
"The folder tree opens fully expanded on every load - not just the first visit - so the full hierarchy is visible immediately.",
"Manual expand and collapse choices are preserved while browsing; Expand all and Collapse all are unchanged."
]
},
{
"version": "3.4.30",
"date": "2026-06-18",
Expand Down
20 changes: 7 additions & 13 deletions .github/pages/vi-browser.html
Original file line number Diff line number Diff line change
Expand Up @@ -308,23 +308,17 @@ <h2 id="nt-state-title" style="margin:0 0 10px;font-size:1.3em;color:var(--fg)">
return out;
}

// On a visitor's first ever open of the VI Browser, expand the whole folder tree
// so the structure is visible at a glance. A localStorage flag keeps this a
// one-time courtesy: on later visits the tree loads collapsed as before. The
// in-memory guard makes it fire only for the first manifest built this load (not
// on every commit switch) and also covers private-mode browsers where the flag
// can't be persisted.
// Expand the whole folder tree by default every time the VI Browser loads, so the
// structure is visible at a glance. The in-memory guard makes it fire only for the
// first manifest built this load (not on every commit switch), so your own
// expand/collapse choices are preserved for the rest of the session.
let didAutoExpand = false;
function maybeAutoExpandFirstVisit() {
function maybeAutoExpandTree() {
if (didAutoExpand || !treeRoot) return;
let seen = false;
try { seen = localStorage.getItem('lvci.vi-browser.visited') === '1'; } catch (e) {}
if (seen) { didAutoExpand = true; return; }
const folders = allFolderPaths(treeRoot);
if (!folders.length) return; // nothing to expand yet; retry on the next manifest
folders.forEach(p => expanded.add(p));
didAutoExpand = true;
try { localStorage.setItem('lvci.vi-browser.visited', '1'); } catch (e) {}
}

// A VI passes the active filters when it matches the text query AND, if the
Expand Down Expand Up @@ -428,7 +422,7 @@ <h2 id="nt-state-title" style="margin:0 0 10px;font-size:1.3em;color:var(--fg)">
async function loadManifest(sha) {
manifest = await getManifest(sha);
treeRoot = buildTree(manifest);
maybeAutoExpandFirstVisit(); // first-ever visit opens with the tree fully expanded
maybeAutoExpandTree(); // tree opens fully expanded by default on every load
activeHtml = null;
await loadChanges(sha);
updateChangedToggle();
Expand Down Expand Up @@ -566,7 +560,7 @@ <h2 id="nt-state-title" style="margin:0 0 10px;font-size:1.3em;color:var(--fg)">
row.innerHTML =
`<span class="twisty"></span>` +
`<span class="icon">${ICON.vi}</span>` +
`<span class="label">${escapeHtml(v.vi_name)}</span>`;
`<span class="label">${escapeHtml(v.vi_rel.split('/').pop() || v.vi_name)}</span>`;
row.addEventListener('click', () => openVI(row));
const chg = changeMap[v.vi_rel];
if (chg) {
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/dashboard-pages.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# CI Dashboard — GitHub Pages. Thin caller installed by the LabVIEW CI configurator.
# CI Dashboard — GitHub Pages. Thin caller installed by .github/labview-ci/install.py.
# The dashboard build logic lives in the shared composite action, pulled at the tooling
# version this repo opted into (.github/labview-ci.yml: source.ref) and checked out at
# runtime — so this repo keeps no copy of the generator and the dashboard updates only
Expand All @@ -13,6 +13,7 @@ on:
paths:
- '.github/labview-ci.yml'
- '.github/workflows/dashboard-pages.yml'
status:
workflow_run:
workflows:
- "Mass Compile — Windows Container"
Expand Down Expand Up @@ -48,7 +49,7 @@ jobs:
shell: bash
run: |
REF=$(awk '/^[[:space:]]*ref:[[:space:]]/{print $2; exit}' .github/labview-ci.yml 2>/dev/null)
echo "ref=${REF:-v3.4.30}" >> "$GITHUB_OUTPUT"
echo "ref=${REF:-v3.4.31}" >> "$GITHUB_OUTPUT"
- name: Check out tooling (opted-in version)
uses: actions/checkout@v4
with:
Expand Down