1225 Commits

Author SHA1 Message Date
Paul
ec992baa49
Add performance tests (#309700) 2026-04-17 21:23:43 +00:00
Henning Dieterichs
41770c58f2 Fixes screenshots attributed to the wrong PR. 2026-04-17 22:48:28 +02:00
Josh Spicer
6579de67a9
Joshspicer/add policy preview features docs (#311039)
* Update customization: SKILL.md

* Update customization: commit

* Update customization: SKILL.md

* Update customization: commit

* Update customization: SKILL.md

* Update customization: commit

* Add GitHub Preview Features section to add-policy skill
2026-04-17 20:15:24 +00:00
dependabot[bot]
de423905d4
Bump actions/github-script from 8 to 9 (#310716)
Bumps [actions/github-script](https://github.com/actions/github-script) from 8 to 9.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v8...v9)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '9'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-16 07:43:39 -07:00
Benjamin Pasero
d0eea83269
reduce notification overload (#310626) 2026-04-16 10:32:55 +02:00
Josh Spicer
c6cac8ef92
Add policyData.jsonc validation test and update add-policy skill (#310040)
* Add policyData.jsonc validation test and update add-policy skill

- Add test that parses the checked-in policyData.jsonc through parsePolicies()
  to catch missing/mismatched enumDescriptions on string enum policies
- Update add-policy skill to document that enumDescriptions is required for
  string enum policies

* Update build/lib/test/policyConversion.test.ts

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-15 18:05:40 +00:00
Henning Dieterichs
88797f66a0 skip screenshot upload/diff for fork PRs (OIDC unavailable) 2026-04-14 11:38:10 +02:00
Matt Bierner
f8e1706349
Merge branch 'main' into dev/mjbvz/potential-narwhal 2026-04-13 10:24:52 -07:00
Matt Bierner
ec1fc105d7
Merge branch 'main' into dev/mjbvz/potential-narwhal 2026-04-13 10:24:11 -07:00
Robo
06f94d567a
ci: fix intermittent fontconfig SIGSEGV on Linux CI (#309451)
The Electron main process intermittently crashes during startup on the
`[pango] FcInit` thread with a NULL pointer dereference in expat's XML
string processing, triggered by fontconfig parsing `<include>` directives
in fonts.conf via `XML_ExternalEntityParserCreate`.

Set FONTCONFIG_FILE to a minimal config based on upstream
fontconfig 2.15.0 fonts.conf.in with `<include>` directives removed and
generic family aliases inlined. This avoids the external entity parser
codepath entirely. A version check will fail the build once the runner
ships expat >= 2.7.5, prompting removal of the workaround.
2026-04-13 07:08:42 -07:00
Alex Ross
027a4d3ce4
Bump version to 1.117.0 (#309394)
* Bump version to 1.117.0

* npm i

* wait to do engine version bump

* Revert "wait to do engine version bump"

This reverts commit 9db1c0feb67fb069fc5b1e4e982efb12ab7be8b0.

* Add Copilot extension tests to Linux/Windows Electron integration test runs

* Remove failing step that we moved to the main build

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-04-13 14:52:32 +02:00
Henning Dieterichs
1117499308 fix: use fake time when rendering fixtures 2026-04-13 14:26:40 +02:00
Osvaldo Ortega
a75ae92ef5
Sessions test on property (#309218) 2026-04-12 17:51:24 -07:00
Rob Lourens
9f939a586b
Heap skill: ignore prior investigations (#309291)
Tell the heap-snapshot-analysis skill to start fresh and not be
influenced by prior findings in /memories/ or the scratchpad. Previous
investigations can bias analysis toward suspects that are no longer
relevant.

(Written by Copilot)
2026-04-12 10:28:32 -07:00
João Moreno
148cf3a1c4
fix: remove duplicate test runs (#309015) 2026-04-10 16:29:56 +02:00
Alex Ross
8b5518b088
Show combination tool approval args (#308747) 2026-04-10 12:05:03 +02:00
Johannes Rieken
f83607587d
add cpu-profile analysis skill (#308963) 2026-04-10 07:56:37 +00:00
Rob Lourens
6be8d6a5d4
Add performance workflow and heap-snapshot-analysis skills (#308834)
* Add performance workflow and heap-snapshot-analysis skills

Add two agent skills for memory/performance investigations:

- vscode-performance-workflow: Drives repeatable VS Code scenarios,
  captures heap snapshots, and includes bundled chat smoke runners
  (chat-memory-smoke, chat-session-switch-smoke).
- heap-snapshot-analysis: Parses V8 heap snapshots, compares before/after,
  and traces retainer paths.

Both skills include scratchpad folders (gitignored) for one-off
investigation scripts organized in dated subfolders with findings.md.

(Written by Copilot)

* Rename skill to auto-perf-optimize

(Written by Copilot)

* workspace

Co-authored-by: Copilot <copilot@github.com>

* this

* Comments

Co-authored-by: Copilot <copilot@github.com>

---------

Co-authored-by: Copilot <copilot@github.com>
2026-04-09 21:53:06 +00:00
Matt Bierner
15f509dc32
Remove extract script 2026-04-09 11:14:14 -07:00
Henning Dieterichs
7892126910 Report all screenshot changes 2026-04-09 18:47:23 +02:00
Christof Marti
16be18337a Move chat-lib workflow up 2026-04-09 16:27:21 +00:00
dependabot[bot]
11f3c7f744
build(deps): bump actions/github-script from 7 to 8 (#308763)
Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-09 08:44:57 -07:00
dependabot[bot]
97c3f4a4df
build(deps): bump actions/cache from 4 to 5 (#308762)
Bumps [actions/cache](https://github.com/actions/cache) from 4 to 5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-09 08:44:55 -07:00
dependabot[bot]
b56446b212
build(deps): bump actions/upload-artifact from 5 to 7 (#308761)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v5...v7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-09 08:44:53 -07:00
Robo
1f40e568c5
ci: bump github runner to ubuntu-24.04 to address fontconfig crash (#308495)
* ci: debug fontconfig crash during app launch

* chore: update commands

* ci: bump to ubuntu-24.04 to fix fontconfig crash

Fixes an intermittent SIGSEGV on the [pango] FcInit thread during
Electron startup in CI integration tests.

Root cause: Chromium's InitializeGlobalFontConfigAsync() posts FcInit()
to a thread pool worker (crbug.com/404311), while pango's pangoft2
backend independently calls FcInit() from its own thread during GTK
initialization. fontconfig 2.13.1 (shipped in ubuntu-22.04) lacks
thread-safe initialization — concurrent first-time FcInit() calls
race and both enter FcConfigParse(), corrupting shared global state.
This causes expat (called by fontconfig to parse fonts.conf) to
dereference a NULL pointer.

ubuntu-24.04 ships fontconfig 2.15.0 which includes the thread-safe
initialization from 2.14+.

* ci: enable namespace sandbox
2026-04-08 14:46:58 +00:00
Henning Dieterichs
389903d431 Temporarily allow screenshot test failures to avoid blocking the pipeline until the screenshot test is stable. 2026-04-07 23:45:14 +02:00
João Moreno
55a24659d9
chore: Add unstaged and staged diff output to git state check (#308300)
Co-authored-by: Copilot <copilot@github.com>
2026-04-07 19:10:34 +00:00
Henning Dieterichs
da1fd60941 fixes flaky fixtures 2026-04-07 20:54:19 +02:00
Michael Lively
5267dfdc95
ci: switch Copilot PR checks to GitHub-hosted runners (#308267)
* switch to gh hosted runners (#308241)

Move the Copilot PR checks off the 1ES self-hosted pools and onto the same GitHub-hosted Ubuntu and Windows images used by the rest of the workflow.

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

* fix: install xvfb for copilot linux tests on gh-hosted runner

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-07 11:01:06 -07:00
Henning Dieterichs
706c2ced9e Fix blocks-ci screenshot diff output and PR comment content 2026-04-07 18:38:44 +02:00
Henning Dieterichs
a199142a6f Add error handling for blocks-ci screenshot suggestion posting 2026-04-07 18:38:44 +02:00
João Moreno
3bb4cc19be
Merge pull request #302778 from microsoft/joao/copilot-builtin
Ship Copilot as a built-in extension
2026-04-07 17:08:36 +02:00
Henning Dieterichs
e2a4bce63e Fail screenshot CI if fixtures with tag blocks-ci change 2026-04-07 15:57:15 +02:00
Henning Dieterichs
52feef4e26 disables zip progress logging 2026-04-07 12:56:06 +02:00
Henning Dieterichs
1a6b425b58 removes checked in baseline images, as they are now tracked by the screenshot service 2026-04-07 12:56:06 +02:00
Henning Dieterichs
9f457435f7 uses direct ingestion 2026-04-07 12:17:37 +02:00
Henning Dieterichs
de23b01119 sets up oidc authentication 2026-04-07 12:17:37 +02:00
Henning Dieterichs
0673ca86f7 Post Screenshot Changes to PR 2026-04-07 12:17:37 +02:00
João Moreno
6a2aa25c2c
prepare for copilot merge 2026-04-07 11:40:24 +02:00
Ben Villalobos
cf22cdfc96
Allow version bump PRs with package-lock.json changes (#308100)
Extends the bot exception in no-engineering-system-changes to handle
version bump PRs that include package-lock.json alongside package.json.

The previous change (#308090) only allowed single-file package.json
changes. Version bumps also run npm install which updates the lock file.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-07 00:04:20 +00:00
Ben Villalobos
d843b57fb4
Allow vs-code-engineering bot to update version field in package.json (#308090) 2026-04-06 22:57:34 +00:00
João Moreno
f04666433f
maybe 2026-04-06 20:53:10 +02:00
João Moreno
d4bb7b41ba
getting ready to merge 2026-04-06 20:18:35 +02:00
João Moreno
75fea1b777
Merge remote-tracking branch 'origin/main' into joao/copilot-builtin 2026-04-05 20:39:32 +02:00
Henning Dieterichs
6ccb5d4fef fixes ci 2026-04-01 11:51:29 +02:00
Henning Dieterichs
3e5f275504 fixes ci 2026-04-01 11:51:29 +02:00
Henning Dieterichs
6e701d61b3 Adds playwright component fixture tests 2026-04-01 11:51:29 +02:00
Henning Dieterichs
bd5138e608 Trigger automatic screenshot artifact ingestion 2026-04-01 11:40:42 +02:00
Henning Dieterichs
b533ee4b6e
Updates component explorer & adopts rspack for fixture serving (#306484) 2026-04-01 03:25:14 +00:00
Josh Spicer
fcbabe4c73
Merge extension-provided policy (#306874)
* Add merge script for extension configuration policies from distro

Adds build/lib/policies/mergeExtensionPolicies.ts which fetches the
distro's product.json (at the commit pinned in package.json) and merges
extensionConfigurationPolicy entries into policyData.jsonc.

The --export-policy-data step only captures policies from the OSS
configuration registry. Extension policies (e.g., Copilot settings)
are defined in vscode-distro's product.json and are not available in
the OSS dev build. This merge script bridges that gap.

Workflow: ./scripts/code.sh --export-policy-data && node build/lib/policies/mergeExtensionPolicies.ts

Also updates:
- policyExport integration test to run the merge step
- add-policy skill documentation with extension policy lifecycle

* Simplify extension policy format: drop localization block from distro

- mergeExtensionPolicies.ts now reads only description/category from
  the distro and synthesizes localization key/value pairs internally
- Integration test gracefully skips merge step when distro is unavailable
- Updated SKILL.md to document the simplified distro format

* docs: use gh auth token in policy export command

* Handle old distro format missing description/category fields

* docs: add troubleshooting section for merge step in policy skill

* Require description and category fields in extension policy entries

* Add extension configuration policies to policyData.jsonc

* Address PR feedback: fix disclaimer, log targetPath, strip GITHUB_TOKEN from test

* fix: revert extension policies from policyData.jsonc, remove console.log from test

Extension policies should only be added after the distro PR merges.
Test runner disallows console output in tests.

* Add mock distro test for mergeExtensionPolicies, remove merge from export test

- mergeExtensionPolicies.ts: add DISTRO_PRODUCT_JSON env var to
  override the distro path (for testing without private repo access)
- New test: creates a mock product.json, runs the merge script,
  verifies policies are added correctly and idempotently
- Export test: no longer runs the merge step (avoids needing
  distro access or GITHUB_TOKEN in CI)

* Update distro and regenerate policyData.jsonc with extension policies

* Fix CI: add extension policy fixture for export test

The export test now runs mergeExtensionPolicies using a checked-in
fixture file instead of requiring distro access or GITHUB_TOKEN.
When extension policies change in the distro, regenerate both
policyData.jsonc and the fixture file.

* Integrate extension policy merge into --export-policy-data

- Removed mergeExtensionPolicies.ts — no separate CLI tool needed
- --export-policy-data now reads build/lib/policies/extensionPolicies.json
  and merges extension policies into the output automatically
- Single command workflow: ./scripts/code.sh --export-policy-data
- Simplified test — no merge step, no GITHUB_TOKEN, no distro access
- Updated SKILL.md to document the simplified workflow

* Dynamic distro reading: --export-policy-data fetches from distro directly

- policyExport.contribution.ts reads distro product.json dynamically:
  1. DISTRO_PRODUCT_JSON env var (for testing)
  2. .build/distro/mixin/stable/product.json (local checkout)
  3. GitHub API with GITHUB_TOKEN (remote fetch)
- New scripts/export-policy-data.sh wrapper: sets up GITHUB_TOKEN
  via gh CLI and runs the export
- Deleted build/lib/policies/extensionPolicies.json (no static copy)
- Test uses DISTRO_PRODUCT_JSON with a fixture file
- Uses sandbox process.env and VSBuffer (renderer-safe)

* Replace bash wrapper with cross-platform TS script

- New build/lib/policies/exportPolicyData.ts: handles transpilation,
  GITHUB_TOKEN setup via gh CLI, and runs --export-policy-data
- Added 'npm run export-policy-data' script to package.json
- Removed scripts/export-policy-data.sh
- Updated SKILL.md and test error message

* Use OAuth device flow for GitHub token acquisition

exportPolicyData.ts now acquires tokens via:
1. GITHUB_TOKEN env var (if set)
2. gh CLI (fast, non-interactive)
3. GitHub OAuth device flow (interactive, no dependencies)

Based on vscode-copilot-chat's getToken.mts pattern.

* Fix error messages to reference npm run export-policy-data

* Fix disclaimer to reference npm run export-policy-data, clean up stale refs

* Clarify test fixture is static and not expected to track distro changes

* Add inline comment in test clarifying fixture is static

* SKILL.md: add step to update distro commit hash in package.json

* Remove inline comment per PR feedback

* Remove local .build/distro/ fallback path per PR feedback
2026-04-01 00:07:47 +00:00