Commit Graph
722 Commits
Author SHA1 Message Date
Finn Evers 078ab6143e extension_ci: Shorten SHA length in PR titles (#50135)
This PR shortens the length of the Git SHAs in the PR titles to 7
characters, as this is the default for short SHAs.

Release Notes:

- N/A
2026-02-25 22:47:56 +00:00
Finn Evers 3714f3173e extension_ci: Fix condition comparison type (#50100)
No comment.
No string.
And this definitely does not spark joy.

Release Notes:

- N/A
2026-02-25 16:23:31 +00:00
Finn Evers 273a6cb00d extension_ci: Remove merge-base fork-point flag in version check (#50014)
Also removes the debugging step again.

Release Notes:

- N/A
2026-02-24 18:37:20 +00:00
Finn Evers 3873cd0b5d extension_ci: Add debugging step (#50013)
GitHub 4 me 0 - after testing for x times in a local and even the remote
setup provided by Namespace during an action, this now adds a dedicated
step to debug the failure we are seeing in extension tests to finally
resolve said issue.

Release Notes:

- N/A
2026-02-24 18:20:57 +00:00
Finn Evers 34d6a7c168 extension_ci: Explicitly state second merge base parameter (#50011)
Release Notes:

- N/A
2026-02-24 18:03:31 +00:00
morgankrey 5c99e6883e Pause scheduled background agent workflow (#50009)
Disable the cron schedule for the background agent MVP workflow. Manual
runs via workflow_dispatch are still available.

The workflow was running daily on weekdays but the project is being
paused. This change:
- Comments out the schedule trigger
- Adds a note pointing to the Notion doc for context
- Preserves the ability to run manually

See [Background Agent for
Zed](https://www.notion.so/Background-Agent-for-Zed-3038aa087eb980449b9ee02f70ae8413)
Notion doc for current status and contacts to resume this work.

Release Notes:

- N/A
2026-02-24 11:49:03 -06:00
Finn Evers c583fea973 extension_ci: Update compare versions check (#50006)
Updates the check to explicitly compare against `origin/main` as opposed
to just `main`.

Release Notes:

- N/A
2026-02-24 17:01:31 +00:00
John D. Swanson 79e44ca370 Align docs_suggestions.yml with repo CI conventions (#49999)
Cleans up a new GitHub Actions workflow.

Before you mark this PR as ready for review, make sure that you have:
- ~~[ ] Added a solid test coverage and/or screenshots from doing manual
testing~~
- [x] Done a self-review taking into account security and performance
aspects
- ~~[ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)~~

Release Notes:

- N/A
2026-02-24 10:59:54 -06:00
Finn Evers d25a85013a extension_ci: Set fetch-depth to 0 in tests (#49996)
This makes the full history available in tests. 

Release Notes:

- N/A
2026-02-24 16:36:09 +00:00
Finn Evers 0f21e2a5c6 extension_ci: Use fork point for version comparison (#49972)
Lost another battle to the GitHub docs. Instead, now let's just do it
ourselves here in bash and not guess whatever GitHub is referring to in
their documentation..

Release Notes:

- N/A
2026-02-24 12:28:12 +00:00
Finn Evers f96ac58a30 extension_ci: Use head_ref for version comparison (#49970)
Release Notes:

- N/A
2026-02-24 12:00:30 +00:00
morgankrey 060e4afb41 Skip docs suggestions workflow for fork PRs (#49942)
## Summary

Fork PRs don't have access to repository secrets (`FACTORY_API_KEY`),
causing the docs suggestions workflow to fail when triggered by external
contributor PRs.

This adds a condition to skip the `batch-suggestions` job when the PR
originates from a fork (`github.event.pull_request.head.repo.full_name
!= github.repository`).

## Context

See failing job:
https://github.com/zed-industries/zed/actions/runs/22323201362/job/64586740764

The `pull_request` trigger doesn't pass secrets to workflows running on
fork PRs for security reasons. This is expected GitHub behavior.

Release Notes:

- N/A
2026-02-23 21:19:54 -06:00
Finn Evers a19bd2893b extension_ci: Allow some more time for tests job (#49900)
Gives the compilation in a repository with a few more grammars some more
time to run. Also adds the Rust cache which might be utilized here
during Rust compilation.

Release Notes:

- N/A
2026-02-23 15:02:50 +00:00
Lena 4cdf291a95 Avoid some false positives for "closed bugs w/comments" board (#49896)
More precisely, the name of the GitHub project board in question is
“Closed bugs with new comments”, and since GitHub seems to do the
closing and the commenting separately (and, crucially for this
automation, in that order) when the closer uses the “Close with comment”
functionality, we want to skip the comments added within 30 seconds
after the closing.

Release Notes:

- N/A
2026-02-23 14:57:50 +00:00
Lena 6741a1df28 Add duplicate bot effectiveness tracking (w/github project) (#49879)
Add a script that classifies open and closed issues that the duplicate
bot commented (or not commented) on and puts them into the appropriate
columns of the dedicated github project board. Add a workflow that calls
that script for every closed issue and also on a schedule (that's for
the open ones).

If you're reading this some time way later and there's no bot running
around the repository leaving comments like “This issue appears to be a
duplicate of...”, you can delete these files.

Release Notes:

- N/A
2026-02-23 13:22:29 +00:00
Jakub Konka 9cefb04fb7 gpui_linux: Fix cargo test on wayland (#49686)
Ensures we can run tests for just `gpui_linux` on Linux/Wayland like so:

```
$ cargo test -p gpui_linux
```

Release Notes:

- N/A
2026-02-20 13:27:09 +01:00
Piotr OsiewiczandMarshall Bowers bba415b2b8 ci: Make filter script less error-prone (#49670)
The failure in #49661 was caused by a broken pipe, which then led to
tests not being ran.

Co-authored-by: Marshall Bowers <marshall@zed.dev>

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A

Co-authored-by: Marshall Bowers <marshall@zed.dev>
2026-02-20 01:06:53 +01:00
morgankrey 04bdd17de2 Fix JS syntax error in docs_suggestions cherry-pick job (#49643)
## Summary

Fixes the `SyntaxError: Unexpected identifier 'gemini'` error in the
cherry-pick documentation suggestions workflow.

## Problem

The 'Post suggestions as PR comment' step was directly interpolating
markdown content into a JavaScript template literal:

```javascript
const suggestions = `${{ steps.analyze.outputs.suggestions }}`;
```

When the suggestions contained backticks, `${}` sequences, or other
special characters (like the `gemini-3.1-pro-preview` model name in
markdown code blocks), it broke the JavaScript syntax.

## Solution

Write suggestions to a file in `$RUNNER_TEMP` and read it using
`fs.readFileSync()` in the script step. This avoids all GitHub Actions
template interpolation and JavaScript string parsing issues.

## Testing

This should fix the failed run:
https://github.com/zed-industries/zed/actions/runs/22194396124/job/64190762087

Release Notes:

- N/A
2026-02-19 13:10:25 -06:00
morgankrey b6cd147b9f Add retry logic to docs_suggestions workflow for transient Factory API failures (#49594)
Add exponential backoff retry logic (3 attempts with 5s/10s/15s delays)
to the Droid CLI installation and
docs-suggest script execution steps in both the batch-suggestions and
cherry-pick-suggestions jobs.

This handles intermittent Factory API authentication issues that can
cause workflow failures when the API is temporarily unavailable or
rate-limited.

Release Notes:

- N/A
2026-02-19 07:00:18 -06:00
morgankrey 2132c54abc Fix gh auth conflict when GH_TOKEN is already set (#49556)
Fixes the workflow failure where `gh auth login --with-token` fails
because `GH_TOKEN` is already set in the environment.

The error was:
```
The value of the GH_TOKEN environment variable is being used for authentication.
To have GitHub CLI store credentials instead, first clear the value from the environment.
```

The fix uses a subshell to unset `GH_TOKEN` before calling `gh auth
login`:
```bash
echo "$GH_TOKEN" | (unset GH_TOKEN && gh auth login --with-token)
```

Release Notes:

- N/A
2026-02-18 20:58:25 -06:00
morgankrey af050fc565 Fix git auth conflict in background_agent_mvp workflow (#49537)
Fix git auth conflict in background_agent_mvp workflow

The workflow was manually configuring git authentication with:
```bash
git config --local http.https://github.com/.extraheader "AUTHORIZATION: bearer ..."
```

This conflicted with the authentication already set up by
`actions/checkout@v4`, which uses `AUTHORIZATION: basic ...`.

The conflict caused all crash pipeline runs to fail with:
```
fatal: could not read Username for 'https://github.com'
```

This morning's run (22147984206) failed for all 15 crash candidates
(ZED-4VS, ZED-202, etc.) with this error.

Remove the redundant git config since actions/checkout already handles
authentication properly.

Release Notes:

- N/A
2026-02-18 17:19:31 -06:00
morgankrey 045b740090 Fix shell quoting and gh auth in docs suggestions workflow (#49518)
Fixes two issues in the documentation suggestions workflow:

1. **Shell quoting bug**: PR titles containing quotes (e.g., `agent_ui:
Add the ability to undo "reject all"`) were breaking the shell script
because the title was substituted directly into the script. Moved
`PR_TITLE`, `PR_NUM`, and `OUTPUT_FILE` to environment variables where
special characters are handled safely.

2. **GH CLI auth issue**: The `gh` CLI sometimes fails to auto-detect
`GH_TOKEN` in the environment, causing `gh pr view` and `gh pr diff` to
fail with "Bad credentials". Added explicit `gh auth login --with-token`
in both the batch-suggestions and cherry-pick-suggestions jobs.

Release Notes:

- N/A
2026-02-18 16:26:15 -06:00
Lena 16aeee6361 Post comments on duplicate bug reports (#49482)
Release Notes:

- N/A
2026-02-18 17:15:15 +00:00
morgankrey 71ffaeb817 Update AI docs for retired hosted models (#49486)
## Summary
- Update hosted model and context-window tables in docs/src/ai/models.md
to remove retired models and list current replacements.
- Add a dated Recent Model Retirements section mapping each retired
model to its replacement.
- Update AI docs examples and references in agent-settings.md,
inline-assistant.md, agent-panel.md, and llm-providers.md to use current
model names.
- Remove stale OpenAI model references in llm-providers.md that no
longer align with currently offered hosted models.

## Validation
- ./script/prettier
- ./script/check-todos

## Suggested .rules additions
- N/A

Release Notes:

- N/A
2026-02-18 10:36:38 -06:00
morgankrey b34e1bdec1 Improve agent pull request hygiene (#49469)
## Summary
- Add pull request title and release notes hygiene guidance to `.rules`
- Update docs automation prompt/workflows to use compliant PR titles
- Ensure automated PR bodies include `Release Notes` when missing

Release Notes:

- N/A
2026-02-18 08:46:47 -06:00
morgankrey dc41f71f57 Add documentation suggestion automation (#49194)
Adds scripts and a GitHub Action workflow for automatically suggesting
documentation updates when PRs modify user-facing code.

## Scripts

- **`script/docs-suggest`**: Analyze PRs/commits for documentation needs
using AI
- **`script/docs-suggest-publish`**: Create a PR from batched
suggestions
- **`script/docs-strip-preview-callouts`**: Remove Preview callouts when
shipping to stable
- **`script/test-docs-suggest-batch`**: Testing utility for batch
analysis

## Workflow

The GitHub Action (`.github/workflows/docs_suggestions.yml`) handles two
scenarios:

1. **PRs merged to main**: Suggestions are batched to
`docs/suggestions-pending` branch for the next Preview release
2. **Cherry-picks to release branches**: Suggestions are posted as PR
comments for immediate review

## Callout Types

The system distinguishes between:

- **Additive features** (new commands, settings, UI):
  ```markdown
> **Preview:** This feature is available in Zed Preview. It will be
included in the next Stable release.
  ```

- **Behavior modifications** (changed defaults, altered existing
behavior):
  ```markdown
> **Changed in Preview (v0.XXX).** See [release notes](/releases#0.XXX).
  ```

Both callout types are stripped by `docs-strip-preview-callouts` when
features ship to stable.

## Example Output

See PR #49190 for example documentation suggestions generated by running
this on PRs from the v0.224 preview window.

## Usage

```bash
# Analyze a PR (auto-detects batch vs immediate mode)
script/docs-suggest --pr 49100

# Dry run to see assembled context
script/docs-suggest --pr 49100 --dry-run

# Create PR from batched suggestions
script/docs-suggest-publish

# Strip callouts for stable release
script/docs-strip-preview-callouts
```

Release Notes:

- N/A
2026-02-18 06:39:09 -06:00
Finn Evers d858ac5013 extension_ci: Make parsing of current version more robust (#49411)
This removes trailing whitespace when getting the current version of the
extension, as we ran into some cases where a `\r` was added to that for
some reason.

Release Notes:

- N/A
2026-02-17 22:21:16 +00:00
Finn Evers 3b438222ef extension_ci: Improve job orchestration (#49407)
This fixes an issue where some changes that should trigger more checks
would go unnoticed.

Release Notes:

- N/A
2026-02-17 21:54:17 +00:00
Finn Evers d0f5edeef2 extension_rollout: Prevent dispatch from non-main branches (#49396)
Release Notes:

- N/A
2026-02-17 19:58:42 +00:00
Finn Evers 9aa6b1481e extension_ci: Increase fetch depth for tests job (#49389)
We need more fetch depth here for the check, hence bumping this.

Also does a drive-by cleanup of the checkout step within xtask to make
this (hopefully) more intuitive to use.

Release Notes:

- N/A
2026-02-17 18:49:18 +00:00
morgankrey 7620c684eb ci: Harden background-agent MVP git authentication loop (#49373)
## Summary
- refresh git auth headers before each per-crash iteration in
`background_agent_mvp`
- add guarded `git fetch`/`git checkout` handling so one candidate auth
failure doesn’t fail the entire run

## Context
- fixes the auth failure seen in workflow run 22106378719 (`fatal: could
not read Username for 'https://github.com'`)
- related Linear issue: BIZOPS-853

## Testing
- ruby -e "require 'yaml';
YAML.load_file('.github/workflows/background_agent_mvp.yml')"

Release Notes:

- N/A
2026-02-17 11:59:47 -06:00
morgankreyandJohn D. Swanson 2df11f7bae background-agent: Scaffold week-one crash MVP pipeline (#49299)
## Summary
- add a new crash issue-linking subagent prompt
(`.factory/prompts/crash/link-issues.md`)
- add a scheduled/manual GitHub workflow for week-one background-agent
runs (`.github/workflows/background_agent_mvp.yml`)
- add Sentry candidate selection script to rank top crashes by
solvability × population (`script/select-sentry-crash-candidates`)
- add a local dry-run runner for end-to-end MVP execution without
push/PR actions (`script/run-background-agent-mvp-local`)

## Guardrails in this MVP
- draft PRs only (no auto-merge)
- reviewer routing defaults to: `eholk,morgankrey,osiewicz,bennetbo`
- pipeline order is: investigate -> link-issues -> fix

## Validation
- `python3 -m py_compile script/select-sentry-crash-candidates
script/run-background-agent-mvp-local`
- `python3 script/select-sentry-crash-candidates --help`
- `python3 script/run-background-agent-mvp-local --help`

---------

Co-authored-by: John D. Swanson <swannysec@users.noreply.github.com>
2026-02-16 20:32:51 -06:00
Marshall Bowers da2d4ca5d9 ci: Install Linux dependencies for Collab deployment workflow (#49308)
This PR makes it so we install the necessary Linux dependencies for the
Collab deployment workflow.

Release Notes:

- N/A
2026-02-16 22:53:35 +00:00
Marshall Bowers 958798d20e ci: Generate the Collab deployment workflow (#49306)
This PR updates the Collab deployment workflow to be generated with
`cargo xtask workflows`.

Release Notes:

- N/A
2026-02-16 22:40:10 +00:00
Marshall Bowers 613f73b898 ci: Move all Collab deployment steps to Namespace runners (#49300)
This PR removes the two remaining steps in the Collab deployment
workflow to Namespace runners.

The previous `runs-on` labels were no longer functional.

Release Notes:

- N/A
2026-02-16 21:57:49 +00:00
Lena 2f439e5f1d Stop notifying first responders for closed bugs (#49253)
Release Notes:

- N/A
2026-02-16 09:16:13 +00:00
Lena 9081af8dd1 Tweak stalebot (words, number of days) (#48603)
While the 60 days of inactivity works for a lot of the issues, with
other (more stubborn and popular) bugs it's too noisy to nag people
every eight weeks.

Also changing days-before-close after seeing a few cases of people
getting back to us after more than two weeks since the bot's question.

Release Notes:

- N/A
2026-02-13 08:53:31 +00:00
Conrad Irwin 85736ec892 Install sccache *after* we rm-rf target... (#49035)
Closes #ISSUE

- [ ] Tests or screenshots needed?
- [ ] Code Reviewed
- [ ] Manual QA

Release Notes:

- N/A
2026-02-12 15:53:04 +00:00
Piotr Osiewicz d7900120e8 Revert "ci: Use cargo-mtime to track timestamps" (#48987)
Reverts zed-industries/zed#48956
2026-02-12 00:08:46 +00:00
Conrad Irwin 8976b33a8e Fix more sccache problems on windows runners for external PRs (#48980)
Closes #ISSUE

- [ ] Tests or screenshots needed?
- [ ] Code Reviewed
- [ ] Manual QA

Release Notes:

- N/A
2026-02-11 22:21:25 +00:00
Piotr Osiewicz 71a704ed19 ci: Use cargo-mtime to track timestamps (#48956)
- **ci: Another stab at mtime-based freshness**

- [x] Tests or screenshots needed?
- [x] Code Reviewed
- [x] Manual QA

Release Notes:

- N/A
2026-02-11 23:07:42 +01:00
Conrad Irwin 11d812cd87 Fix sccache --show-stats not working sometimes on windows (#48974)
Closes #ISSUE

- [ ] Tests or screenshots needed?
- [ ] Code Reviewed
- [ ] Manual QA

Release Notes:

- N/A
2026-02-11 21:40:42 +00:00
Conrad Irwin 47cb1cf4ab Use sccache in CI (#48895)
Try sccache in CI to paper over cargo's abyssmal caching

Release Notes:

- N/A
2026-02-10 21:36:42 -07:00
Conrad Irwin aa37edaef1 Don't run nix checks on PRs (#48849)
Although this introduces a small possiblity that we will regress the nix
build,
the existing check is very slow and fails very rarely.

Release Notes:

- N/A
2026-02-10 13:15:25 -07:00
Piotr Osiewicz 95890a987e Revert "ci: Restore mtime of source files to the git log time" (#48874)
Reverts zed-industries/zed#48607

The problem we've ran into is that CI started reusing already-cached
runs from newer branches (that did not have that change pulled in).

Yet this unveiled another potential issue, which is that relying on
mtime might make it so that an artifact for a different (newer) commit
would be reused by an unrelated run of CI.

The answer is: checksum-based-freshness.

Release Notes:
- N/A
2026-02-10 14:32:01 +01:00
Piotr Osiewicz 4084a5ac13 ci: Restore mtime of source files to the git log time (#48607)
Release Notes:

- N/A
2026-02-10 12:52:42 +01:00
Finn Evers b97a6c3886 extension_ci: Increase timeout for extension version bump job (#48828)
This fixes another issue for the ruby extension where a cargo index
update can sometimes take quite some time. However, this will not change
anything for all other extensions, as they continue to bump within the
defined timeout.

Release Notes:

- N/A
2026-02-09 23:12:40 +00:00
Finn Evers 3d327cf2aa extension_ci: Be more precise with clippy targets (#48824)
This fixes an issue where we would run into build errors during testing.

Release Notes:

- N/A
2026-02-09 22:13:27 +00:00
Joseph T. Lyons 2d1e211133 Update community champions (#48818)
Adding @rgbkrk so we have extra reminders in place to remain attentive.

Release Notes:

- N/A
2026-02-09 21:22:56 +00:00
Finn Evers 5e86a8d148 extension_rollout: Improve naming for PR titles (#48815)
This PR updates the names for the PRs to roll out to the extensions, as
having the `zed@` prefix does not look too pretty.

It also increases the concurrency of matrix jobs run to 10, as the
rollout has matured by now and is safe to perform for more repositories
at once.

Release Notes:

- N/A
2026-02-09 20:36:40 +00:00