Commit Graph

1222 Commits

Author SHA1 Message Date
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 9db1c0feb6.

* 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
Benjamin Pasero 17faef0d3c Sessions: Update naming (fix #306461) (#306922)
* Sessions: Update naming (fix #306461)

* .
2026-03-31 20:02:26 +00:00
João Moreno 531a11cb38 Merge remote-tracking branch 'origin/main' into joao/copilot-builtin 2026-03-31 11:51:19 +02:00
Rob Lourens 23c0b41d69 Enable test/test-integration scripts to take file.test.ts arguments (#306039)
* Enable test/test-integration scripts to take file.test.ts arguments
The agent likes to use them this way, when it doesn't read the skill

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

* And this

* Fixes

* update

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

---------

Co-authored-by: Copilot <copilot@github.com>
2026-03-29 02:48:59 +00:00