feat(scripts): consolidate scripts library paths and enhance dataviewer#383
Merged
Conversation
Contributor
Dependency ReviewThe following issues were found:
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #383 +/- ##
==========================================
+ Coverage 43.72% 50.46% +6.74%
==========================================
Files 243 267 +24
Lines 14910 18098 +3188
Branches 1855 1855
==========================================
+ Hits 6519 9134 +2615
- Misses 8101 8674 +573
Partials 290 290
*This pull request uses carry forward flags. Click here to find out more.
🚀 New features to boost your workflow:
|
nguyena2
requested changes
Apr 2, 2026
Contributor
nguyena2
left a comment
There was a problem hiding this comment.
This PR removes scripts/lib/Modules, but these workflows still import CIHelpers from scripts/lib/Modules/CIHelpers.psm1. Please update all workflow imports (and pester-tests path mapping logic) to CIHelpers.psm1 to match the new canonical location.
7b7cdde to
3f97911
Compare
nguyena2
requested changes
Apr 2, 2026
nguyena2
approved these changes
Apr 2, 2026
katriendg
reviewed
Apr 3, 2026
katriendg
approved these changes
Apr 3, 2026
akhanattentive
approved these changes
Apr 3, 2026
…raction - add fallback for video frame extraction using OpenCV - include new dependencies: numpy, pyarrow, and Pillow - update tests to cover new video generation logic 🎥 - Generated by Copilot
🔧 - Generated by Copilot
🔧 - Generated by Copilot
… path - Replace scripts/lib/Modules/CIHelpers.psm1 with shared/lib/Modules/CIHelpers.psm1 across 6 workflow files - Update pester-tests.yml changed-file path mapping from scripts/lib/ to shared/lib/ 🤖 - Generated by Copilot
- Parenthesize fallback in REPO_ROOT derivation across 23 shell scripts to prevent two-line output - Update shell-scripts.instructions.md template with corrected pattern - Remove dead pyarrow try/except guard in lerobot_loader.py - Add from __future__ import annotations to lerobot_handler.py and lerobot_loader.py - Remove quoted type annotation made redundant by future annotations - Fix cv2 fallback test to clear sys.modules before mocking __import__ 🤖 - Generated by Copilot
- fix segmented Join-Path references using 'shared' 'lib' string segments - fix path depth off-by-one in test files (shared/ci/tests/ was depth 3, scripts/tests/ is depth 2) - fix pester.config.ps1 logs path and repoRoot Split-Path calculation 🔧 - Generated by Copilot
960f1e8 to
46682d9
Compare
- fix CIHelpers import path in Invoke-TerraformDocsCheck.ps1 - fix dot-source path in Update-TerraformDocs.Tests.ps1 - tag subprocess-spawning test blocks as Integration - format markdown table column alignment 🔧 - Generated by Copilot
- test successful extraction returns JPEG bytes - test graceful fallback when ffmpeg is missing - test non-zero exit code returns None - test seek time calculation from frame index and fps 🧪 - Generated by Copilot
🔧 - Generated by Copilot
WilliamBerryiii
pushed a commit
that referenced
this pull request
Apr 8, 2026
🤖 I have created a release *beep* *boop* --- ## [0.6.0](v0.5.0...v0.6.0) (2026-04-08) ### ✨ Features * **build:** add terraform-docs generation pipeline ([#378](#378)) ([78e90d0](78e90d0)) * **infrastructure:** enable optional AML diagnostic logs ([#400](#400)) ([58dd8db](58dd8db)) * **scripts:** consolidate scripts library paths and enhance dataviewer ([#383](#383)) ([176d9c9](176d9c9)) ### 🐛 Bug Fixes * **build:** remediate CVEs, enforce equality pinning, repair Dependabot config ([#391](#391)) ([0c29148](0c29148)) * **infrastructure:** add Storage File Data Privileged Contributor role for ML identity ([#380](#380)) ([378f7ed](378f7ed)) * **infrastructure:** replace hardcoded NAT Gateway availability zones with variable ([#356](#356)) ([a1397bd](a1397bd)) * **infrastructure:** resolve TFLint violations and enable hard-fail ([#376](#376)) ([dfb55cd](dfb55cd)) * **scripts:** add dot-source guard to Invoke-MsDateFreshnessCheck.ps1 ([#397](#397)) ([f6f22c3](f6f22c3)) * **training:** validate AzureML and OSMO RL submissions end to end ([#372](#372)) ([49904d3](49904d3)) ### 📚 Documentation * **infrastructure:** add terraform-docs tooling and improve developer experience ([#365](#365)) ([a0fb03a](a0fb03a)) * **reference:** centralize workflow template docs and convert workflow READMEs to pointer index ([#379](#379)) ([68097e4](68097e4)) ### 🔧 Miscellaneous * **deps-dev:** bump the npm_and_yarn group across 1 directory with 2 updates ([#374](#374)) ([d848c8b](d848c8b)) * **deps-dev:** bump vite from 6.4.1 to 6.4.2 in /data-management/viewer/frontend in the npm_and_yarn group across 1 directory ([#395](#395)) ([6ec7f19](6ec7f19)) * **deps:** bump the github-actions group across 1 directory with 7 updates ([#370](#370)) ([4d1b951](4d1b951)) * **deps:** bump the uv group across 2 directories with 1 update ([#373](#373)) ([ba66ed9](ba66ed9)) ### 🔒 Security * **deps-dev:** bump brace-expansion from 1.1.12 to 1.1.13 in /docs/docusaurus in the npm_and_yarn group across 1 directory ([#389](#389)) ([27129d9](27129d9)) * **deps-dev:** bump the npm_and_yarn group across 2 directories with 2 updates ([#363](#363)) ([aeae624](aeae624)) * **deps-dev:** bump the python-dependencies group with 5 updates ([#403](#403)) ([bb85560](bb85560)) * **deps:** bump cryptography from 46.0.5 to 46.0.6 in /training/rl ([#367](#367)) ([a82dd68](a82dd68)) * **deps:** bump the inference-dependencies group in /evaluation with 2 updates ([#401](#401)) ([c88d253](c88d253)) * **deps:** bump the pip group across 4 directories with 2 updates ([#411](#411)) ([1230fe0](1230fe0)) * **deps:** bump the training-dependencies group across 1 directory with 67 updates ([#375](#375)) ([8e05172](8e05172)) * **deps:** bump the uv group across 2 directories with 1 update ([#382](#382)) ([b6c7aea](b6c7aea)) * **deps:** update marshmallow requirement from <4.3.0,>=3.5 to >=3.5,<4.4.0 in /evaluation in the inference-dependencies group ([#393](#393)) ([599c7eb](599c7eb)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: physical-ai-toolchain-release[bot] <267194360+physical-ai-toolchain-release[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
feat(scripts): consolidate scripts library paths and enhance dataviewer
Pull Request
Description
This PR eliminates symlink indirection across the repository by replacing all library symlinks with direct references to the canonical
scripts/lib/location using a dynamic REPO_ROOT resolution pattern. Alongside the library consolidation, the dataviewer backend gained ffmpeg-based frame extraction with an OpenCV fallback and a complete pandas-to-PyArrow migration in the LeRobot loader. Development conventions were codified into the copilot instructions file to establish normative guidance for agents.Library Consolidation
Nine symlinks across five directories were deleted, and all consuming scripts were updated to compute the repository root at runtime via
git rev-parse --show-toplevelwith acd-based fallback. This touched 23 shell scripts (deploy, cleanup, optional, submission, and pipeline scripts) and 24+ PowerShell scripts (CI linting, security, and test infrastructure).$REPO_ROOT/scripts/lib/common.shand$REPO_ROOT/scripts/lib/terraform-outputs.shscripts/lib/Modules/CIHelpers.psm1toscripts/lib/Modules/CIHelpers.psm1across CI linting, security, and test scriptsDataviewer Backend
The dataset service received two significant improvements targeting performance and compatibility.
_extract_frame_ffmpeg()and_extract_frame_cv2()static methodstable.to_pandas()conversions_column_to_numpy()helper for list-typed parquet columnsdf.iterrows()with direct column access viatable.column().to_numpy()and PyArrow compute filtersTestVideoGenerationFallbacktest class in test_hdf5_handler.py covering cv2 import failure scenariosFrontend
overflow-y-autoto the annotation workspace container in AnnotationWorkspaceContent.tsx and removed constrainingmin-h-0from the Tabs componentDocumentation and Configuration
.copilot-tracking/directoryType of Change
Component(s) Affected
infrastructure/terraform/prerequisites/- Azure subscription setupinfrastructure/terraform/- Terraform infrastructureinfrastructure/setup/- OSMO control plane / Helmworkflows/- Training and evaluation workflowstraining/- Training pipelines and scriptsdocs/- DocumentationTesting Performed
planreviewed (no unexpected changes)applytested in dev environmentsmoke_test_azure.py)Documentation Impact
Bug Fix Checklist
Complete this section for bug fix PRs. Skip for other contribution types.
Checklist