Skip to content

feat(build): add terraform-docs generation pipeline#378

Merged
WilliamBerryiii merged 9 commits into
mainfrom
feature/terraform-docs-generation-pipeline
Apr 6, 2026
Merged

feat(build): add terraform-docs generation pipeline#378
WilliamBerryiii merged 9 commits into
mainfrom
feature/terraform-docs-generation-pipeline

Conversation

@WilliamBerryiii
Copy link
Copy Markdown
Member

@WilliamBerryiii WilliamBerryiii commented Apr 1, 2026

Description

This PR adds a complete terraform-docs generation and freshness checking pipeline to the CI system. A new reusable workflow downloads and SHA256-verifies the terraform-docs binary, then runs a PowerShell CI wrapper that detects documentation drift across all Terraform modules. The pipeline integrates into both the main branch and PR validation workflows with soft-fail enabled during rollout.

The terraform-docs binary is pinned to v0.21.0 with a hardcoded SHA256 checksum verified at download time, preventing supply-chain substitution.

Closes #327

CI Pipeline

The new terraform-docs-check.yml reusable workflow accepts soft-fail, changed-files-only, terraform-docs-version, and terraform-docs-sha256 inputs. It downloads the terraform-docs binary, verifies its SHA256 checksum via Get-FileHash, and delegates to Invoke-TerraformDocsCheck.ps1 for drift detection. Results are uploaded as a CI artifact.

  • Wired terraform-docs-check into main.yml with soft-fail: true and added it to the release-please needs array alongside go-lint, go-tests, and codeql-analysis
  • Wired terraform-docs-check into pr-validation.yml with soft-fail: true and changed-files-only: true
  • Added scripts/ root source-to-test mapping in pester-tests.yml so that changes to scripts under scripts/ trigger their corresponding Pester tests

CI Wrapper and Documentation Checking

Invoke-TerraformDocsCheck.ps1 imports LintingHelpers and CIHelpers modules, runs npm run docs:tf -- --check, and parses drifted files from git diff output. It writes structured JSON results to logs/terraform-docs-check-results.json and generates a CI step summary with file-level error annotations.

  • Supports a ChangedFilesOnly mode that uses Get-ChangedFilesFromGit to skip checking when no .tf, .tfvars, or .terraform-docs.yml files changed
  • Config file changes (.terraform-docs.yml) trigger a full check run regardless of individual file changes

Testing

Both new scripts have comprehensive Pester 5.x test suites using mock-heavy isolation.

  • Invoke-TerraformDocsCheck.Tests.ps1 covers tool availability, clean runs, drift detection with error annotations, ChangedFilesOnly skipping, and config file change triggers
  • Update-TerraformDocs.Tests.ps1 covers tool availability, directory discovery (root and subdirectories), generate mode, check mode with drift detection and file restoration, and npm passthrough arguments
  • Widened Pester code coverage source from scripts/lib to scripts in pester.config.ps1

Developer Environment

  • Added a Git Symlink Resolution section to setup-dev.ps1 that detects broken git symlinks via git ls-files -s, then replaces broken symlink placeholders with junctions (directories) or hard links (files) for Windows compatibility

Type of Change

  • 🐛 Bug fix (non-breaking change fixing an issue)
  • ✨ New feature (non-breaking change adding functionality)
  • 💥 Breaking change (fix or feature causing existing functionality to change)
  • 📚 Documentation update
  • 🏗️ Infrastructure change (Terraform/IaC)
  • ♻️ Refactoring (no functional changes)

Component(s) Affected

  • infrastructure/terraform/prerequisites/ - Azure subscription setup
  • infrastructure/terraform/ - Terraform infrastructure
  • infrastructure/setup/ - OSMO control plane / Helm
  • workflows/ - Training and evaluation workflows
  • training/ - Training pipelines and scripts
  • docs/ - Documentation

Testing Performed

  • Terraform plan reviewed (no unexpected changes)
  • Terraform apply tested in dev environment
  • Training scripts tested locally with Isaac Sim
  • OSMO workflow submitted successfully
  • Smoke tests passed (smoke_test_azure.py)

975 Pester tests pass across all test suites. 0 lint errors, 0 spell issues.

Documentation Impact

  • No documentation changes needed
  • Documentation updated in this PR
  • Documentation issue filed

Checklist

Related Issues

- add generation script with check mode and directory discovery
- add CI wrapper, reusable workflow, and npm docs:tf script
- add Pester tests for generation script and CI wrapper
- widen Pester coverage source and add workflow source mapping
- add symlink repair to setup-dev.ps1 for Windows compatibility

🔧 - Generated by Copilot
- replace Write-Host with Write-Output so diff lines reach CI wrapper stdout

- handle mixed pipeline output (diff strings + exit code) with array capture

- update Pester tests to match new output stream behavior

🔧 - Generated by Copilot
…cation

- add terraform-docs-check job to main.yml and pr-validation.yml with soft-fail
- add SHA256 checksum verification to terraform-docs binary download step
- add terraform-docs-sha256 input parameter for version-pinned integrity checks

🔒 - Generated by Copilot
@WilliamBerryiii WilliamBerryiii requested a review from a team as a code owner April 1, 2026 03:23
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 1, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA 3e1b2a7.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

OpenSSF Scorecard

PackageVersionScoreDetails
actions/actions/checkout de0fac2e4500dabe0009e67214ff5f5447ce83dd 🟢 6
Details
CheckScoreReason
Maintained⚠️ 23 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2
Code-Review🟢 10all changesets reviewed
Binary-Artifacts🟢 10no binaries found in the repo
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Packaging⚠️ -1packaging workflow not detected
License🟢 10license file detected
Fuzzing⚠️ 0project is not fuzzed
Signed-Releases⚠️ -1no releases found
Pinned-Dependencies🟢 3dependency not pinned by hash detected -- score normalized to 3
Security-Policy🟢 9security policy file detected
Branch-Protection🟢 6branch protection is not maximal on development and all release branches
SAST🟢 8SAST tool detected but not run on all commits
actions/actions/upload-artifact bbbca2ddaa5d8feaa63e36b76fdaad77386f024f 🟢 5.7
Details
CheckScoreReason
Code-Review🟢 10all changesets reviewed
Maintained🟢 54 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 5
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Binary-Artifacts🟢 10no binaries found in the repo
Packaging⚠️ -1packaging workflow not detected
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Pinned-Dependencies⚠️ 1dependency not pinned by hash detected -- score normalized to 1
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Signed-Releases⚠️ -1no releases found
Security-Policy🟢 9security policy file detected
Branch-Protection⚠️ 0branch protection not enabled on development/release branches
SAST🟢 10SAST tool is run on all commits

Scanned Files

  • .github/workflows/terraform-docs-check.yml

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Apr 1, 2026

Codecov Report

❌ Patch coverage is 85.00000% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 43.72%. Comparing base (599c7eb) to head (3e1b2a7).

Files with missing lines Patch % Lines
scripts/Update-TerraformDocs.ps1 85.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #378      +/-   ##
==========================================
+ Coverage   43.58%   43.72%   +0.13%     
==========================================
  Files         242      243       +1     
  Lines       14840    14910      +70     
  Branches     1855     1855              
==========================================
+ Hits         6468     6519      +51     
- Misses       8082     8101      +19     
  Partials      290      290              
Flag Coverage Δ *Carryforward flag
pester 77.67% <85.00%> (-2.20%) ⬇️
pytest 6.89% <ø> (ø) Carriedforward from 5e39877
pytest-dataviewer 61.98% <ø> (ø)
vitest 50.72% <ø> (ø)

*This pull request uses carry forward flags. Click here to find out more.

Files with missing lines Coverage Δ
scripts/Update-TerraformDocs.ps1 72.85% <85.00%> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread shared/ci/tests/scripts/Update-TerraformDocs.Tests.ps1
Comment thread setup-dev.ps1
Bill Berry and others added 2 commits April 1, 2026 13:04
…lation

- Add TerraformDir, ConfigPath, PassthroughArgs parameters
- Set defaults matching prior hardcoded values for backward compatibility
- Validate config file existence before processing
- Rewrite check mode to capture diff output and restore files

🔧 - Generated by Copilot
jjottar pushed a commit to jjottar/physical-ai-toolchain that referenced this pull request Apr 1, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.5.0](microsoft/physical-ai-toolchain@v0.4.0...v0.5.0)
(2026-03-26)


### ✨ Features

* add dataviewer web application for dataset analysis and annotation
([microsoft#375](microsoft#375))
([c44d7bb](microsoft@c44d7bb))
* add return type annotations to cli_args functions
([microsoft#476](microsoft#476))
([35523ee](microsoft@35523ee))
* add YAML config schema with pydantic validation for ROS 2 recording
([microsoft#376](microsoft#376))
([1fa5243](microsoft@1fa5243))
* **agents:** Copilot agents and skills for dataviewer and OSMO training
workflows.
([microsoft#444](microsoft#444))
([8b72daf](microsoft@8b72daf))
* **build:** add automated ms.date freshness checking
([microsoft#448](microsoft#448))
([f92ddbc](microsoft@f92ddbc))
* **build:** add CLA section, Dependabot security prefix, and OWASP ZAP
DAST scan
([microsoft#241](microsoft#241))
([083a8af](microsoft@083a8af))
* **build:** add coverage.py configuration to pyproject.toml
([microsoft#428](microsoft#428))
([eac7426](microsoft@eac7426))
* **build:** add Go CI pipeline with golangci-lint and go test
([microsoft#351](microsoft#351))
([b27e4fb](microsoft@b27e4fb))
* **build:** add OpenSSF Scorecard workflow and badge
([microsoft#431](microsoft#431))
([98a62e7](microsoft@98a62e7))
* **build:** add release artifact signing and SBOM attestation
([microsoft#480](microsoft#480))
([b226e96](microsoft@b226e96))
* **build:** add TFLint reusable GitHub Actions workflow
([microsoft#229](microsoft#229))
([34d5575](microsoft@34d5575))
* **build:** split Go CI into separate lint and test pipelines
([microsoft#354](microsoft#354))
([2dec155](microsoft@2dec155))
* **dataviewer:** add authentication middleware and CSRF protection for
mutation endpoints
([microsoft#432](microsoft#432))
([77c8a01](microsoft@77c8a01))
* **docs:** create training documentation hub with guides and migration
([microsoft#380](microsoft#380))
([0fdccc5](microsoft@0fdccc5))
* **docs:** port Docusaurus documentation site with full build
validation
([microsoft#182](microsoft#182))
([29dd640](microsoft@29dd640))
* fix and deploy dataviewer
([microsoft#498](microsoft#498))
([c922d49](microsoft@c922d49))
* **inference:** add AzureML and local LeRobot inference workflows
([microsoft#438](microsoft#438))
([f7d786a](microsoft@f7d786a))
* **inference:** add MLflow trajectory plots and multi-source support to
OSMO inference workflow
([microsoft#421](microsoft#421))
([8637458](microsoft@8637458))
* **infra:** add blob storage lifecycle policies and folder structure
([microsoft#179](microsoft#179))
([101a6e8](microsoft@101a6e8))
* **infrastructure:** add optional observability and compute feature
flags
([microsoft#437](microsoft#437))
([9eba0da](microsoft@9eba0da))
* **infrastructure:** add private Linux Isaac Sim VM deployment option
([microsoft#348](microsoft#348))
([3748c2d](microsoft@3748c2d))
* **infrastructure:** add terraform-docs auto-generation pipeline
([microsoft#358](microsoft#358))
([6565caa](microsoft@6565caa))
* **infrastructure:** harden Isaac Sim VM deployment with encryption and
spot options
([microsoft#355](microsoft#355))
([6ebc1f2](microsoft@6ebc1f2))
* **repo:** migrate to domain-driven architecture
([microsoft#270](microsoft#270))
([a339e70](microsoft@a339e70))
* **scripts:** add --config-preview and deployment summary to submission
scripts
([microsoft#499](microsoft#499))
([4069806](microsoft@4069806))
* **scripts:** add Copilot attribution footer validation to frontmatter
linting
([microsoft#378](microsoft#378))
([4d595f2](microsoft@4d595f2))
* **src:** add dataviewer web application with storage adapter layer
([microsoft#404](microsoft#404))
([8a9fb70](microsoft@8a9fb70))


### 🐛 Bug Fixes

* **build:** add GHSA to cspell custom dictionary
([microsoft#315](microsoft#315))
([67db81a](microsoft@67db81a))
* **build:** correct codecov report_type input for terraform test
uploads
([microsoft#324](microsoft#324))
([d90d66d](microsoft@d90d66d))
* **build:** expand CODEOWNERS coverage to critical paths
([microsoft#505](microsoft#505))
([bafade1](microsoft@bafade1))
* **build:** pin Docker base image and pip dependencies with Dependabot
coverage
([microsoft#497](microsoft#497))
([d3d7ea4](microsoft@d3d7ea4))
* **build:** pin pydantic version and use uv in config schema validation
workflow
([microsoft#493](microsoft#493))
([28d823f](microsoft@28d823f))
* **build:** pin uv installer to versioned URL
([microsoft#495](microsoft#495))
([8d8541b](microsoft@8d8541b))
* **build:** remediate GHSA vulnerabilities flagged by OSSF Scorecard
([microsoft#271](microsoft#271))
([49b6e58](microsoft@49b6e58))
* **build:** remove README frontmatter, add FrontmatterExcludePaths,
enforce Pester 5
([microsoft#443](microsoft#443))
([641d0f3](microsoft@641d0f3))
* **build:** resolve CI failures for release 0.5.0 PR
([microsoft#174](microsoft#174))
([62c9900](microsoft@62c9900))
* **build:** resolve codecov PR comment suppression
([microsoft#523](microsoft#523))
([5603bd7](microsoft@5603bd7))
* **build:** use npm ci for deterministic frontend dependency install
([microsoft#491](microsoft#491))
([ee8b5d3](microsoft@ee8b5d3)),
closes
[microsoft#490](microsoft#490)
* **ci:** add `wait_for_ci` to Codecov configuration
([microsoft#183](microsoft#183))
([370cf44](microsoft@370cf44))
* **CI:** Issue 116 clean up dataviewer tests
([microsoft#184](microsoft#184))
([f466c23](microsoft@f466c23))
* **ci:** pin pydantic to ==2.12.5 across all references
([microsoft#230](microsoft#230))
([9d841d5](microsoft@9d841d5))
* **dataviewer:** add HTTP Range support for blob video streaming
([microsoft#165](microsoft#165))
([8adde50](microsoft@8adde50))
* **dataviewer:** remediate CodeQL alerts and align ruff config
([microsoft#419](microsoft#419))
([eb6fac9](microsoft@eb6fac9))
* **dataviewer:** remediate path traversal and input validation
vulnerabilities
([microsoft#413](microsoft#413))
([0a1d2ca](microsoft@0a1d2ca))
* **docs:** remove trailingSlash: false for GitHub Pages compatibility
([microsoft#228](microsoft#228))
([a78cb97](microsoft@a78cb97))
* **gpu:** add GPU Operator validation dependencies to GRID driver
installer
([microsoft#441](microsoft#441))
([eec42da](microsoft@eec42da))
* **infrastructure:** add zone-redundant config to VPN gateway public IP
([microsoft#352](microsoft#352))
([2d734f4](microsoft@2d734f4))
* **infrastructure:** improve stdout handling for helm commands in GPU…
([microsoft#311](microsoft#311))
([153f467](microsoft@153f467))
* **infrastructure:** resolve remaining TFLint violations in SIL module
and example configs
([microsoft#298](microsoft#298))
([c0ce3e5](microsoft@c0ce3e5))
* **infrastructure:** resolve TFLint violations in root and automation
modules
([microsoft#287](microsoft#287))
([b6a4604](microsoft@b6a4604)),
closes
[microsoft#203](microsoft#203)
* **infrastructure:** update deprecated bgp vng variable name
([microsoft#307](microsoft#307))
([f530734](microsoft@f530734))
* **scripts:** pin uv version in OSMO workflow templates
([microsoft#500](microsoft#500))
([7edf13a](microsoft@7edf13a))
* **scripts:** replace lambda with def in lerobot_handler to satisfy R…
([microsoft#176](microsoft#176))
([baf9e58](microsoft@baf9e58))
* **scripts:** support OSMO control-plane deploys with in-cluster Redis
([microsoft#317](microsoft#317))
([d4b70de](microsoft@d4b70de))
* **scripts:** update compute target name derivation logic
([microsoft#319](microsoft#319))
([bb20431](microsoft@bb20431))
* **settings:** update devcontainer name to match project context
([microsoft#177](microsoft#177))
([745321e](microsoft@745321e))
* **terraform:** create PostgreSQL Key Vault secret via ARM control
plane
([microsoft#304](microsoft#304))
([5d73b81](microsoft@5d73b81))
* **terraform:** gate observability with feature flags
([microsoft#303](microsoft#303))
([ea5e056](microsoft@ea5e056))
* **terraform:** switch VPN gateway defaults to AZ SKUs
([microsoft#309](microsoft#309))
([74989c5](microsoft@74989c5))
* **training:** correct learning rate mapping and pin LeRobot version
([microsoft#439](microsoft#439))
([5cf9943](microsoft@5cf9943))
* **workflows:** enable SARIF upload for dependency-pinning scans
([microsoft#502](microsoft#502))
([124cad6](microsoft@124cad6)),
closes
[microsoft#501](microsoft#501)
* **workflows:** remove redundant top-level permissions from
codeql-analysis
([microsoft#489](microsoft#489))
([1490fda](microsoft@1490fda))
* **workflows:** use bash shell for uv.lock regeneration and add SARIF
to dictionary
([microsoft#225](microsoft#225))
([e6fa6ea](microsoft@e6fa6ea))


### 📚 Documentation

* add chunking and compression configuration guide for Jetson edge
recording
([microsoft#408](microsoft#408))
([787a322](microsoft@787a322))
* add OpenSSF Best Practices badge to README
([microsoft#282](microsoft#282))
([01ea384](microsoft@01ea384))
* add threat model cross-reference to SECURITY.md
([microsoft#235](microsoft#235))
([88a461e](microsoft@88a461e))
* add vulnerability remediation timeline to SECURITY.md
([microsoft#233](microsoft#233))
([5ead3ee](microsoft@5ead3ee))
* **contributing:** remove version-specific planning language from
ownership tip
([microsoft#407](microsoft#407))
([3191f9b](microsoft@3191f9b))
* **deploy:** replace deploy/ READMEs with pointer files
([microsoft#379](microsoft#379))
([b3c3abb](microsoft@b3c3abb))
* **docs:** add bug report response timeline for OSSF report_responses
criterion
([microsoft#485](microsoft#485))
([9b26212](microsoft@9b26212))
* **docs:** add component update process for OpenSSF Silver badge
([microsoft#446](microsoft#446))
([6adc8a2](microsoft@6adc8a2))
* **docs:** Add data collection and training recipes
([microsoft#343](microsoft#343))
([9c34f86](microsoft@9c34f86))
* **docs:** add deprecation policy for external interfaces
([microsoft#445](microsoft#445))
([229d5db](microsoft@229d5db))
* **docs:** add structure for recipes in repo
([microsoft#322](microsoft#322))
([098757b](microsoft@098757b))
* **docs:** add YAML frontmatter to SUPPORT.md
([microsoft#478](microsoft#478))
([d94c15d](microsoft@d94c15d)),
closes
[microsoft#347](microsoft#347)
* **docs:** clarify issue assignment requirement before starting work
([microsoft#299](microsoft#299))
([1534462](microsoft@1534462))
* **docs:** create inference and training docs hubs
([microsoft#402](microsoft#402))
([7a20a2e](microsoft@7a20a2e))
* **docs:** create reference hub and migrate script documentation
([microsoft#503](microsoft#503))
([03a31c6](microsoft@03a31c6))
* **docs:** create training and inference documentation hubs
([microsoft#403](microsoft#403))
([7be003b](microsoft@7be003b))
* **operations:** create operations hub and troubleshooting guide
([microsoft#525](microsoft#525))
([31c7aaa](microsoft@31c7aaa))
* **reference:** add copilot artifacts documentation hub
([microsoft#170](microsoft#170))
([9a45ca4](microsoft@9a45ca4))
* simplify root README and update prerequisites
([microsoft#440](microsoft#440))
([c0c7710](microsoft@c0c7710))


### ♻️ Code Refactoring

* **build:** align Python dependency workflows with uv
([microsoft#447](microsoft#447))
([3102e03](microsoft@3102e03))
* **docs:** rename Docusaurus site to Physical AI Toolchain
([microsoft#224](microsoft#224))
([cfdf47a](microsoft@cfdf47a))
* **infrastructure:** rename boolean variables to `should_` prefix and
add missing core variables
([microsoft#292](microsoft#292))
([4496593](microsoft@4496593))
* **python:** move runtime deps to workflow pyproject manifests
([microsoft#405](microsoft#405))
([6c5fbeb](microsoft@6c5fbeb))


### 📦 Build System

* **build:** add Codecov upload to pytest workflow
([microsoft#434](microsoft#434))
([0110c17](microsoft@0110c17))
* **deps-dev:** bump the npm_and_yarn group across 2 directories with 1
update
([microsoft#325](microsoft#325))
([59cf9e6](microsoft@59cf9e6))
* **workflows:** enable coverage parameters and fix Pester test
infrastructure
([microsoft#435](microsoft#435))
([528bbde](microsoft@528bbde))


### 🔧 Miscellaneous

* add gomod to cspell general-technical wordlist
([microsoft#362](microsoft#362))
([1f93f47](microsoft@1f93f47))
* **build:** add codecov.yml for unified coverage reporting
([microsoft#430](microsoft#430))
([b0faf70](microsoft@b0faf70))
* **build:** add Go toolchain devcontainer feature and Dependabot gomod
([microsoft#337](microsoft#337))
([8a36620](microsoft@8a36620))
* **deps:** bump cryptography from 45.0.7 to 46.0.5 in /src/training
([microsoft#506](microsoft#506))
([a06434e](microsoft@a06434e))
* **deps:** bump minimatch in /src/dataviewer/frontend
([microsoft#416](microsoft#416))
([38a7607](microsoft@38a7607))
* **deps:** bump pyasn1 from 0.6.2 to 0.6.3 in /training/rl
([microsoft#296](microsoft#296))
([7b42cf5](microsoft@7b42cf5))
* **deps:** bump rollup in /src/dataviewer/frontend
([microsoft#417](microsoft#417))
([6302ce4](microsoft@6302ce4))
* **deps:** bump the common-dependencies group in /src/common with 3
updates
([microsoft#507](microsoft#507))
([db05074](microsoft@db05074))
* **deps:** bump the github-actions group across 1 directory with 6
updates
([microsoft#284](microsoft#284))
([c40eff6](microsoft@c40eff6))
* **deps:** bump the github-actions group across 1 directory with 6
updates
([microsoft#433](microsoft#433))
([2d9dd4f](microsoft@2d9dd4f))
* **deps:** bump the github-actions group across 1 directory with 6
updates
([microsoft#510](microsoft#510))
([c334a64](microsoft@c334a64))
* **deps:** bump the github-actions group with 2 updates
([microsoft#163](microsoft#163))
([f25713e](microsoft@f25713e))
* **deps:** bump the inference-dependencies group in /evaluation with 3
updates
([microsoft#279](microsoft#279))
([1d2d3dc](microsoft@1d2d3dc))
* **deps:** bump the inference-dependencies group in /src/inference with
5 updates
([microsoft#508](microsoft#508))
([2852ffb](microsoft@2852ffb))
* **deps:** bump the lerobot-inference-dependencies group in
/workflows/azureml with 4 updates
([microsoft#511](microsoft#511))
([b7c5773](microsoft@b7c5773))
* **deps:** bump the npm_and_yarn group across 2 directories with 1
update
([microsoft#223](microsoft#223))
([6a261ab](microsoft@6a261ab))
* **deps:** bump the training-dependencies group
([microsoft#429](microsoft#429))
([66e43f4](microsoft@66e43f4))
* **deps:** bump tornado from 6.5.4 to 6.5.5 in the uv group across 1
directory
([microsoft#172](microsoft#172))
([d6caf29](microsoft@d6caf29))
* **docs:** correct ms.date tooling and refresh stale documentation
([microsoft#349](microsoft#349))
([ccaa1e8](microsoft@ccaa1e8))
* **infrastructure:** add Go module and golangci-lint config for e2e
tests
([microsoft#347](microsoft#347))
([e0e6bbf](microsoft@e0e6bbf))
* **infrastructure:** add root .terraform-docs.yml configuration
([microsoft#312](microsoft#312))
([bb73bbb](microsoft@bb73bbb))
* migrate references from Azure-Samples to
microsoft/physical-ai-toolchain
([f58f0ef](microsoft@f58f0ef))
* **workflows:** update Dependabot, CodeQL, CODEOWNERS, and cspell for
dataviewer coverage
([microsoft#231](microsoft#231))
([6d8c2e8](microsoft@6d8c2e8))


### 🔒 Security

* **deps:** bump mlflow from 3.5.0 to 3.8.0rc0 in /training/rl
([microsoft#297](microsoft#297))
([e9929df](microsoft@e9929df))
* **deps:** bump the github-actions group across 1 directory with 4
updates
([microsoft#344](microsoft#344))
([6826929](microsoft@6826929))
* **deps:** bump the inference-dependencies group in /evaluation with 2
updates
([microsoft#339](microsoft#339))
([6804630](microsoft@6804630))
* **deps:** bump the npm_and_yarn group across 3 directories with 1
update
([microsoft#361](microsoft#361))
([6760857](microsoft@6760857))
* **deps:** bump the training-dependencies group across 1 directory with
54 updates
([microsoft#286](microsoft#286))
([d9ae04f](microsoft@d9ae04f))
* **deps:** bump the uv group across 3 directories with 1 update
([microsoft#360](microsoft#360))
([dfbda06](microsoft@dfbda06))

---
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>
Co-authored-by: Bill Berry <wbery@microsoft.com>
Comment thread scripts/Update-TerraformDocs.ps1
Comment thread scripts/Update-TerraformDocs.ps1
Comment thread shared/ci/linting/Invoke-TerraformDocsCheck.ps1 Outdated
Comment thread shared/ci/linting/Invoke-TerraformDocsCheck.ps1 Outdated
- replace docs:tf with docs:generate:tf to match package.json script name
- remove unused TerraformDir parameter from Invoke-TerraformDocsCheck
- add log message before restoring files in check mode
- add test for terraform-docs execution failure path

🔧 - Generated by Copilot
@WilliamBerryiii WilliamBerryiii requested a review from auyidi1 April 3, 2026 20:24
@WilliamBerryiii WilliamBerryiii merged commit 78e90d0 into main Apr 6, 2026
30 checks passed
@WilliamBerryiii WilliamBerryiii deleted the feature/terraform-docs-generation-pipeline branch April 6, 2026 17:26
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 &lt;4.3.0,&gt;=3.5 to
&gt;=3.5,&lt;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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(ci): terraform-docs freshness CI workflow feat(terraform): terraform-docs auto-generation pipeline

6 participants