Skip to content

build: align telemetry validation across CI and official builds - #336865

Merged
Ladislau Szomoru (lszomoru) merged 3 commits into
mainfrom
agents/align-telemetry-ci-version
Sep 19, 2026
Merged

Ladislau Szomoru (lszomoru) merged 3 commits into
mainfrom
agents/align-telemetry-ci-version

Conversation

@dmitrivMS

@dmitrivMS Dmitriy Vasyura (dmitrivMS) commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator

Refs #336369. Follow-up to #336747 and #336857.

Problem

PR #336704's passing metadata job executed extractor 1.14.0, while official builds now use 1.20.5. The Copilot PR gate independently pinned 1.20.4, and its official packaging step requested an unversioned extractor and ignored nonzero exit codes.

Updating the version alone also exposes two issues: the general gate combines unrelated core/extension namespaces, and Copilot has conflicting descriptions for the same copilotcloud.chat.sessionCreate.durationMs property.

Changes

  • Resolve every standalone extractor invocation from the exact root lockfile version, so future package updates reach the PR gates and official builds together.
  • Run the general PR gate through the existing official core/extension extraction script, preserving its separate scopes, prefixes, endpoint handling and validation. Use the repository Node version and install only the extractor outside the checkout; no full VS Code dependency install is needed.
  • Keep Copilot validation separate and make the official Copilot extraction step propagate validation failures.
  • Give success/failure declarations of the cloud-session duration property one compatible description. Emitted events, fields, classifications and runtime behavior are unchanged.

The official build's existing heap setting remains unchanged. No validation is disabled.

Validation

Ran the actual updated YAML commands locally on Node 24.18.0 / Windows with Git Bash, using the published 1.20.5 package and no repository dependencies installed:

Path Result
Locked extractor installation Pass
Shared official core + extension extraction Pass: 486 core events / 34 common properties; 72 built-in/helper events / 14 common properties
Copilot PR validation Pass
Copilot official extraction Pass: 240 events / 4 common properties
  • Confirmed 1.14.0 accepts the invalid first-response/common-session-property fixture, while 1.20.5 rejects it; both accept the corrected fixture.
  • Focused TypeScript compilation, YAML parsing, targeted hygiene and git diff --check pass.
  • The Copilot metadata correction produces identical runtime JavaScript with comments removed.

This branch includes the merged #336857 fix. These are local execution results, not a claim that remote CI has completed; no manual CI/Azure rerun or infrastructure change was requested.

Resolve standalone extractor invocations from the root lockfile instead of independent or floating versions. Run the PR metadata gate through the official scoped extraction script so core and extension namespaces are not combined, installing only the extractor outside the workspace.

Propagate Copilot extractor failures and reconcile the duplicated cloud session creation duration description. Add regression coverage for version drift, extraction scope, failure propagation and compatible outcome metadata.

Refs #336369, #336747, #336857

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

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

The workflows, official build path, metadata correction, and focused regression coverage are consistent and complete.

Review effort: Balanced
Findings: None

What changed in this PR

Aligns telemetry extraction versions and behavior across PR validation and official builds.

Changes:

  • Resolves extractor versions from the root lockfile.
  • Reuses official extraction scopes and propagates failures.
  • Aligns conflicting Copilot telemetry metadata and adds regression tests.
File Description
.github/​workflows/​telemetry.yml Uses locked extractor and official extraction script.
.github/​workflows/​pr.yml Aligns Copilot validation with the lockfile.
build/​azure-pipelines/​common/​extract-telemetry.ts Supports externally installed extractor.
build/​azure-pipelines/​product-copilot.yml Pins extraction and propagates failures.
build/​lib/​test/​telemetryExtractorVersion.test.ts Adds consistency and failure regression coverage.
extensions/​copilot/​src/​extension/​chatSessions/​vscode-node/​cloudBackendTelemetry.ts Unifies duration metadata descriptions.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Honor the repository's no-in-operator lint rule in the new telemetry consistency regression test. The targeted tests and ESLint check pass.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove the standalone test file as requested; keep the validated CI and official-build changes unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dmitrivMS Dmitriy Vasyura (dmitrivMS) added this to the 1.139.0 milestone Sep 19, 2026
@lszomoru
Ladislau Szomoru (lszomoru) merged commit 9888ec2 into main Sep 19, 2026
89 checks passed
@lszomoru
Ladislau Szomoru (lszomoru) deleted the agents/align-telemetry-ci-version branch September 19, 2026 07:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

engineering VS Code - Build / issue tracking / etc. vscode-build VS Code build process issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants