Skip to content

Weekly Docs Refresh: CrossDeviceExperiences (v1.0) - #836

Closed
microsoft-graph-devx-bot[bot] wants to merge 17 commits into
mainfrom
WeeklyDocs-v1.0-CrossDeviceExperiences_202607311850
Closed

Weekly Docs Refresh: CrossDeviceExperiences (v1.0)#836
microsoft-graph-devx-bot[bot] wants to merge 17 commits into
mainfrom
WeeklyDocs-v1.0-CrossDeviceExperiences_202607311850

Conversation

@microsoft-graph-devx-bot

Copy link
Copy Markdown
Contributor

This pull request was automatically created by Azure Pipelines for the CrossDeviceExperiences module (v1.0 profile). Important Check for unexpected deletions or changes in this PR.

Microsoft Graph DevX Tooling and others added 17 commits July 22, 2026 13:38
Guard GenerateMarkDown.ps1 so a module's docs are only deleted when the
module is available to regenerate them. Skip-and-preserve per workload
module, and abort if Authentication is unavailable, avoiding refresh PRs
that delete thousands of docs after a failed module install.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4d27d82f-3809-40d2-b4e7-6623436ff2ef
EscapeDisallowedHtmlTags.ps1 and RemoveInvalidFullStops.ps1 hardcoded a
personal git identity, so their stage commits in the weekly refresh PRs
were attributed to an individual instead of the tooling bot. Align both
with the other generation scripts.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4d27d82f-3809-40d2-b4e7-6623436ff2ef
- UpdateLinks.ps1: only insert the beta/v1 '[!NOTE]' link when it is not
  already present, so weekly runs stop stacking duplicate note blocks.
- GeneratePermissionsTable.ps1: skip files that already contain a
  '**Permissions**' table instead of prepending another copy each run.
- GenerateMarkDown.ps1: write PlatyPS output as UTF-8 without BOM so every
  regenerated file no longer diffs on a leading BOM.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4d27d82f-3809-40d2-b4e7-6623436ff2ef
Add '*.md text eol=lf' to .gitattributes so PlatyPS/transform scripts,
which run on Windows and emit CRLF, no longer produce line-ending churn
in the weekly refresh PRs. Index blobs are already LF, so this only
pins the working-tree checkout and future writes to LF.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4d27d82f-3809-40d2-b4e7-6623436ff2ef
…rphans

Bulk-deleting a module's docs before regenerating meant any transient import failure (installed but unimportable module, e.g. Authentication version conflict) wiped docs that were never regenerated, producing refresh PRs with thousands of missing files. Now: verify the module truly imports and exposes commands before processing (skip-and-preserve otherwise), overwrite each doc in place, and remove only genuine orphans whose command is no longer in the metadata.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4d27d82f-3809-40d2-b4e7-6623436ff2ef
Each Graph workload module now generates in its own Azure DevOps stage per SDK
profile (~86 independent stages), giving every module a fresh agent and a clean
assembly-load context. This structurally eliminates the "assembly with same name
is already loaded" collisions that produced mass-deletion / no-op refresh PRs.

- GenerateMarkDown.ps1: add -GraphProfileFilter and -ModuleFilter scoping; in
  scoped runs do a complete delete + full regen of the single module, throw
  before any deletion on import failure (fail-safe), and emit a ModuleGenerated
  signal only on success.
- 9 post-processing scripts: add matching profile/module scoping and empty-commit
  guards so each touches only the target module folder.
- update-template.yml: parameterized install (InstallProfile/Module) that installs
  only Authentication + the single workload submodule for isolated runs; install
  failures warn instead of failing.
- New common-templates/generate-module-docs-steps.yml: full single-module sequence
  (install -> generate -> post-process -> push -> PR). Generate step is
  continueOnError and every later step is gated on ModuleGenerated, so a failing
  module deletes nothing, opens no PR, and never fails the overall pipeline.
- New common-templates/module-stages.yml: emits one dependsOn:[] stage per module.
- powershell-docs.yml: invoke module-stages.yml for v1.0 (incl. Authentication)
  and beta; each stage opens its own pull request. ms.date changes every run
  (StabilizeMsDate is intentionally not run) for reviewable PRs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4d27d82f-3809-40d2-b4e7-6623436ff2ef
Azure DevOps resolves template references relative to the directory of the
referencing file. powershell-docs.yml lives in azure-pipelines/, so the
"azure-pipelines/common-templates/module-stages.yml@self" path resolved to
azure-pipelines/azure-pipelines/common-templates/module-stages.yml and failed
with "Not Found". Use a path relative to the file's own directory instead.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4d27d82f-3809-40d2-b4e7-6623436ff2ef
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans.

✅ No issues found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 80c5836:

💡 Validation status: suggestions

File Status Preview URL Details
microsoftgraph/graph-powershell-1.0/Microsoft.Graph.CrossDeviceExperiences/Microsoft.Graph.CrossDeviceExperiences.md 💡Suggestion View (graph-powershell-1.0) Details
.gitattributes ✅Succeeded
azure-pipelines/common-templates/generate-module-docs-steps.yml ✅Succeeded
azure-pipelines/common-templates/module-stages.yml ✅Succeeded
azure-pipelines/powershell-docs.yml ✅Succeeded
azure-pipelines/update-template.yml ✅Succeeded
microsoftgraph/graph-powershell-1.0/Microsoft.Graph.CrossDeviceExperiences/Get-MgUserActivity.md ✅Succeeded View (graph-powershell-1.0)
microsoftgraph/graph-powershell-1.0/Microsoft.Graph.CrossDeviceExperiences/Get-MgUserActivityCount.md ✅Succeeded View (graph-powershell-1.0)
microsoftgraph/graph-powershell-1.0/Microsoft.Graph.CrossDeviceExperiences/Get-MgUserActivityHistoryItem.md ✅Succeeded View (graph-powershell-1.0)
microsoftgraph/graph-powershell-1.0/Microsoft.Graph.CrossDeviceExperiences/Get-MgUserActivityHistoryItemActivity.md ✅Succeeded View (graph-powershell-1.0)
microsoftgraph/graph-powershell-1.0/Microsoft.Graph.CrossDeviceExperiences/Get-MgUserActivityHistoryItemCount.md ✅Succeeded View (graph-powershell-1.0)
microsoftgraph/graph-powershell-1.0/Microsoft.Graph.CrossDeviceExperiences/Invoke-MgRecentUserActivity.md ✅Succeeded View (graph-powershell-1.0)
microsoftgraph/graph-powershell-1.0/Microsoft.Graph.CrossDeviceExperiences/New-MgUserActivity.md ✅Succeeded View (graph-powershell-1.0)
microsoftgraph/graph-powershell-1.0/Microsoft.Graph.CrossDeviceExperiences/New-MgUserActivityHistoryItem.md ✅Succeeded View (graph-powershell-1.0)
microsoftgraph/graph-powershell-1.0/Microsoft.Graph.CrossDeviceExperiences/Remove-MgUserActivity.md ✅Succeeded View (graph-powershell-1.0)
microsoftgraph/graph-powershell-1.0/Microsoft.Graph.CrossDeviceExperiences/Remove-MgUserActivityHistoryItem.md ✅Succeeded View (graph-powershell-1.0)
microsoftgraph/graph-powershell-1.0/Microsoft.Graph.CrossDeviceExperiences/Update-MgUserActivity.md ✅Succeeded View (graph-powershell-1.0)
microsoftgraph/graph-powershell-1.0/Microsoft.Graph.CrossDeviceExperiences/Update-MgUserActivityHistoryItem.md ✅Succeeded View (graph-powershell-1.0)
scripts/CorrectRelatedLinks-AllFiles.ps1 ✅Succeeded
scripts/EscapeDisallowedHtmlTags.ps1 ✅Succeeded
scripts/GenerateAliasedDocs.ps1 ✅Succeeded
scripts/GenerateMarkDown.ps1 ✅Succeeded
scripts/GeneratePermissionsTable.ps1 ✅Succeeded
scripts/MsSubserviceUpdate.ps1 ✅Succeeded
scripts/RemoveBoilerPlateCode.ps1 ✅Succeeded

This comment lists only the first 25 files in the pull request.

microsoftgraph/graph-powershell-1.0/Microsoft.Graph.CrossDeviceExperiences/Microsoft.Graph.CrossDeviceExperiences.md

  • Line 0, Column 0: [Suggestion: PSMD2Yaml_UidDuplicated] Duplicate uid found: Microsoft.Graph.CrossDeviceExperiences.Get-MgUserActivity shows more than once in Microsoft.Graph.CrossDeviceExperiences Cmdlets command group in module Microsoft.Graph.CrossDeviceExperiences. Microsoft.Graph.CrossDeviceExperiences.Get-MgUserActivityHistoryItem shows more than once in Microsoft.Graph.CrossDeviceExperiences Cmdlets command group in module Microsoft.Graph.CrossDeviceExperiences.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

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.

1 participant