Skip to content

[devops] Show "(Publish failed)" instead of broken VSDrops link when html report publish fails.#25233

Open
rolfbjarne wants to merge 4 commits intomainfrom
dev/rolf/devops-timeout-no-html-link
Open

[devops] Show "(Publish failed)" instead of broken VSDrops link when html report publish fails.#25233
rolfbjarne wants to merge 4 commits intomainfrom
dev/rolf/devops-timeout-no-html-link

Conversation

@rolfbjarne
Copy link
Copy Markdown
Member

When the "Publish to Artifact Services Drop" step times out or fails, the VSDrops
link in the GitHub comment would point to a non-existent page. Now detect the
failure by setting an output variable when the step does not succeed, and show
"(Publish failed)" in plain text instead of a broken link.

…html report publish fails.

When the "Publish to Artifact Services Drop" step times out or fails, the VSDrops
link in the GitHub comment would point to a non-existent page. Now detect the
failure by setting an output variable when the step does not succeed, and show
"(Publish failed)" in plain text instead of a broken link.

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

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the DevOps pipeline and GitHub comment formatting to avoid posting a broken VSDrops HTML report link when publishing to VSDrops fails/timeouts.

Changes:

  • Add pipeline steps intended to detect VSDrops publish failures and expose the result as an output variable.
  • Update test-results comment generation to display “(Publish failed)” instead of a VSDrops link when the publish failed.
  • Plumb the new output variable through the stage-dependencies parsing into TestResult.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
tools/devops/automation/templates/tests/run-tests.yml Adds steps around the VSDrops publish to capture status and attempt to set an output variable on failure.
tools/devops/automation/templates/mac/build.yml Same status-capture/output-variable approach for mac build/test jobs publishing to VSDrops.
tools/devops/automation/scripts/TestResults.psm1 Adds a flag to suppress the VSDrops link in GitHub comments and parses the new output variable from job outputs.

Comment thread tools/devops/automation/templates/tests/run-tests.yml
Comment thread tools/devops/automation/templates/mac/build.yml
Comment thread tools/devops/automation/scripts/TestResults.psm1
Comment thread tools/devops/automation/scripts/TestResults.psm1
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

rolfbjarne and others added 2 commits April 30, 2026 12:31
…tion.

- Use condition: failed('publishVSDrops') instead of comparing
  $AGENT_JOBSTATUS before/after, which reliably detects publish
  failures even when the job was already Failed.
- Add Sort-Object | Select-Object -Last 1 to VSDROPS_PUBLISHED key
  lookup to handle retries/attempts deterministically.
- Change text from '(Publish failed)' to
  '(:warning: Html Report Publish failed :warning:)'.
- Add Pester test for VSDrops publish failed behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@rolfbjarne rolfbjarne marked this pull request as ready for review April 30, 2026 10:37
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [PR Build #19379da] Build passed (Build packages) ✅

Pipeline on Agent
Hash: 19379da7b39daac8c5c47ae1e5d3c32e6dca1daa [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [PR Build #19379da] Build passed (Detect API changes) ✅

Pipeline on Agent
Hash: 19379da7b39daac8c5c47ae1e5d3c32e6dca1daa [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ API diff for current PR / commit

NET (empty diffs)

✅ API diff vs stable

NET (empty diffs)

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: 19379da7b39daac8c5c47ae1e5d3c32e6dca1daa [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [CI Build #19379da] Build passed (Build macOS tests) ✅

Pipeline on Agent
Hash: 19379da7b39daac8c5c47ae1e5d3c32e6dca1daa [PR build]

Azure DevOps step conditions don't support failed('stepName') -
that syntax only works for jobs and stages. Revert to the
before/after AGENT_JOBSTATUS comparison, which is the only
reliable way to detect individual step failures in Azure DevOps.

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

This comment has been minimized.

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

🔥 [CI Build #26352a6] Test results 🔥

Test results

❌ Tests failed on VSTS: test results

26 tests crashed, 0 tests failed, 0 tests passed.

Failures

❌ cecil tests

🔥 Failed catastrophically on VSTS: test results - cecil (no summary found).

Html Report (VSDrops) Download

❌ dotnettests tests (iOS)

🔥 Failed catastrophically on VSTS: test results - dotnettests_ios (no summary found).

Html Report (VSDrops) Download

❌ dotnettests tests (MacCatalyst)

🔥 Failed catastrophically on VSTS: test results - dotnettests_maccatalyst (no summary found).

Html Report (VSDrops) Download

❌ dotnettests tests (macOS)

🔥 Failed catastrophically on VSTS: test results - dotnettests_macos (no summary found).

Html Report (VSDrops) Download

❌ dotnettests tests (Multiple platforms)

🔥 Failed catastrophically on VSTS: test results - dotnettests_multiple (no summary found).

Html Report (VSDrops) Download

❌ dotnettests tests (tvOS)

🔥 Failed catastrophically on VSTS: test results - dotnettests_tvos (no summary found).

Html Report (VSDrops) Download

❌ framework tests

🔥 Failed catastrophically on VSTS: test results - framework (no summary found).

Html Report (VSDrops) Download

❌ fsharp tests

🔥 Failed catastrophically on VSTS: test results - fsharp (no summary found).

Html Report (VSDrops) Download

❌ generator tests

🔥 Failed catastrophically on VSTS: test results - generator (no summary found).

Html Report (VSDrops) Download

❌ interdependent-binding-projects tests

🔥 Failed catastrophically on VSTS: test results - interdependent-binding-projects (no summary found).

Html Report (VSDrops) Download

❌ introspection tests

🔥 Failed catastrophically on VSTS: test results - introspection (no summary found).

Html Report (VSDrops) Download

❌ linker tests

🔥 Failed catastrophically on VSTS: test results - linker (no summary found).

Html Report (VSDrops) Download

❌ monotouch tests (iOS)

🔥 Failed catastrophically on VSTS: test results - monotouch_ios (no summary found).

Html Report (VSDrops) Download

❌ monotouch tests (MacCatalyst)

🔥 Failed catastrophically on VSTS: test results - monotouch_maccatalyst (no summary found).

Html Report (VSDrops) Download

❌ monotouch tests (macOS)

🔥 Failed catastrophically on VSTS: test results - monotouch_macos (no summary found).

Html Report (VSDrops) Download

❌ monotouch tests (tvOS)

🔥 Failed catastrophically on VSTS: test results - monotouch_tvos (no summary found).

Html Report (VSDrops) Download

❌ msbuild tests

🔥 Failed catastrophically on VSTS: test results - msbuild (no summary found).

Html Report (VSDrops) Download

❌ sharpie tests

🔥 Failed catastrophically on VSTS: test results - sharpie (no summary found).

Html Report (VSDrops) Download

❌ windows tests

🔥 Failed catastrophically on VSTS: test results - windows (no summary found).

Html Report (VSDrops) Download

❌ xcframework tests

🔥 Failed catastrophically on VSTS: test results - xcframework (no summary found).

Html Report (VSDrops) Download

❌ xtro tests

🔥 Failed catastrophically on VSTS: test results - xtro (no summary found).

Html Report (VSDrops) Download

❌ Tests on macOS Monterey (12) tests

🔥 Failed catastrophically on VSTS: test results - mac_monterey (no summary found).

Html Report (VSDrops) Download

❌ Tests on macOS Ventura (13) tests

🔥 Failed catastrophically on VSTS: test results - mac_ventura (no summary found).

Html Report (VSDrops) Download

❌ Tests on macOS Sonoma (14) tests

🔥 Failed catastrophically on VSTS: test results - mac_sonoma (no summary found).

Html Report (VSDrops) Download

❌ Tests on macOS Sequoia (15) tests

🔥 Failed catastrophically on VSTS: test results - mac_sequoia (no summary found).

Html Report (VSDrops) Download

❌ Tests on macOS Tahoe (26) tests

🔥 Failed catastrophically on VSTS: test results - mac_tahoe (no summary found).

Html Report (VSDrops) Download

Successes

macOS tests

Linux Build Verification

Linux build succeeded

Pipeline on Agent
Hash: 26352a6b684fc03a9ce01511081078e2a0503d9d [PR build]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants