Skip to content

Commit d80d7b8

Browse files
authored
Merge branch 'main' into betten-helix
2 parents b630460 + b9c110e commit d80d7b8

File tree

965 files changed

+45302
-20132
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

965 files changed

+45302
-20132
lines changed

.config/hakari.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ third-party = [
2525
{ name = "reqwest", version = "0.11.27" },
2626
# build of remote_server should not include scap / its x11 dependency
2727
{ name = "scap", git = "https://github.com/zed-industries/scap", rev = "808aa5c45b41e8f44729d02e38fd00a2fe2722e7" },
28+
# build of remote_server should not need to include on libalsa through rodio
29+
{ name = "rodio" },
2830
]
2931

3032
[final-excludes]
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Bug Report (Windows Alpha)
2+
description: Zed Windows Alpha Related Bugs
3+
type: "Bug"
4+
labels: ["windows"]
5+
title: "Windows Alpha: <a short description of the Windows bug>"
6+
body:
7+
- type: textarea
8+
attributes:
9+
label: Summary
10+
description: Describe the bug with a one-line summary, and provide detailed reproduction steps
11+
value: |
12+
<!-- Please insert a one-line summary of the issue below -->
13+
SUMMARY_SENTENCE_HERE
14+
15+
### Description
16+
<!-- Describe with sufficient detail to reproduce from a clean Zed install. -->
17+
Steps to trigger the problem:
18+
1.
19+
2.
20+
3.
21+
22+
**Expected Behavior**:
23+
**Actual Behavior**:
24+
25+
validations:
26+
required: true
27+
- type: textarea
28+
id: environment
29+
attributes:
30+
label: Zed Version and System Specs
31+
description: 'Open Zed, and in the command palette select "zed: copy system specs into clipboard"'
32+
placeholder: |
33+
Output of "zed: copy system specs into clipboard"
34+
validations:
35+
required: true

.github/actionlint.yml

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,28 @@ self-hosted-runner:
55
# GitHub-hosted Runners
66
- github-8vcpu-ubuntu-2404
77
- github-16vcpu-ubuntu-2404
8+
- github-32vcpu-ubuntu-2404
9+
- github-8vcpu-ubuntu-2204
10+
- github-16vcpu-ubuntu-2204
11+
- github-32vcpu-ubuntu-2204
12+
- github-16vcpu-ubuntu-2204-arm
813
- windows-2025-16
914
- windows-2025-32
1015
- windows-2025-64
11-
# Buildjet Ubuntu 20.04 - AMD x86_64
12-
- buildjet-2vcpu-ubuntu-2004
13-
- buildjet-4vcpu-ubuntu-2004
14-
- buildjet-8vcpu-ubuntu-2004
15-
- buildjet-16vcpu-ubuntu-2004
16-
- buildjet-32vcpu-ubuntu-2004
17-
# Buildjet Ubuntu 22.04 - AMD x86_64
18-
- buildjet-2vcpu-ubuntu-2204
19-
- buildjet-4vcpu-ubuntu-2204
20-
- buildjet-8vcpu-ubuntu-2204
21-
- buildjet-16vcpu-ubuntu-2204
22-
- buildjet-32vcpu-ubuntu-2204
23-
# Buildjet Ubuntu 22.04 - Graviton aarch64
24-
- buildjet-8vcpu-ubuntu-2204-arm
25-
- buildjet-16vcpu-ubuntu-2204-arm
26-
- buildjet-32vcpu-ubuntu-2204-arm
27-
- buildjet-64vcpu-ubuntu-2204-arm
16+
# Namespace Ubuntu 20.04 (Release builds)
17+
- namespace-profile-16x32-ubuntu-2004
18+
- namespace-profile-32x64-ubuntu-2004
19+
- namespace-profile-16x32-ubuntu-2004-arm
20+
- namespace-profile-32x64-ubuntu-2004-arm
21+
# Namespace Ubuntu 22.04 (Everything else)
22+
- namespace-profile-2x4-ubuntu-2204
23+
- namespace-profile-4x8-ubuntu-2204
24+
- namespace-profile-8x16-ubuntu-2204
25+
- namespace-profile-16x32-ubuntu-2204
26+
- namespace-profile-32x64-ubuntu-2204
27+
# Namespace Limited Preview
28+
- namespace-profile-8x16-ubuntu-2004-arm-m4
29+
- namespace-profile-8x32-ubuntu-2004-arm-m4
2830
# Self Hosted Runners
2931
- self-mini-macos
3032
- self-32vcpu-windows-2022

.github/actions/build_docs/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ runs:
1313
uses: swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
1414
with:
1515
save-if: ${{ github.ref == 'refs/heads/main' }}
16-
cache-provider: "buildjet"
16+
# cache-provider: "buildjet"
1717

1818
- name: Install Linux dependencies
1919
shell: bash -euxo pipefail {0}

.github/actions/run_tests_windows/action.yml

Lines changed: 162 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,168 @@ runs:
2020
with:
2121
node-version: "18"
2222

23+
- name: Configure crash dumps
24+
shell: powershell
25+
run: |
26+
# Record the start time for this CI run
27+
$runStartTime = Get-Date
28+
$runStartTimeStr = $runStartTime.ToString("yyyy-MM-dd HH:mm:ss")
29+
Write-Host "CI run started at: $runStartTimeStr"
30+
31+
# Save the timestamp for later use
32+
echo "CI_RUN_START_TIME=$($runStartTime.Ticks)" >> $env:GITHUB_ENV
33+
34+
# Create crash dump directory in workspace (non-persistent)
35+
$dumpPath = "$env:GITHUB_WORKSPACE\crash_dumps"
36+
New-Item -ItemType Directory -Force -Path $dumpPath | Out-Null
37+
38+
Write-Host "Setting up crash dump detection..."
39+
Write-Host "Workspace dump path: $dumpPath"
40+
41+
# Note: We're NOT modifying registry on stateful runners
42+
# Instead, we'll check default Windows crash locations after tests
43+
2344
- name: Run tests
2445
shell: powershell
2546
working-directory: ${{ inputs.working-directory }}
26-
run: cargo nextest run --workspace --no-fail-fast
47+
run: |
48+
$env:RUST_BACKTRACE = "full"
49+
50+
# Enable Windows debugging features
51+
$env:_NT_SYMBOL_PATH = "srv*https://msdl.microsoft.com/download/symbols"
52+
53+
# .NET crash dump environment variables (ephemeral)
54+
$env:COMPlus_DbgEnableMiniDump = "1"
55+
$env:COMPlus_DbgMiniDumpType = "4"
56+
$env:COMPlus_CreateDumpDiagnostics = "1"
57+
58+
cargo nextest run --workspace --no-fail-fast
59+
continue-on-error: true
60+
61+
- name: Analyze crash dumps
62+
if: always()
63+
shell: powershell
64+
run: |
65+
Write-Host "Checking for crash dumps..."
66+
67+
# Get the CI run start time from the environment
68+
$runStartTime = [DateTime]::new([long]$env:CI_RUN_START_TIME)
69+
Write-Host "Only analyzing dumps created after: $($runStartTime.ToString('yyyy-MM-dd HH:mm:ss'))"
70+
71+
# Check all possible crash dump locations
72+
$searchPaths = @(
73+
"$env:GITHUB_WORKSPACE\crash_dumps",
74+
"$env:LOCALAPPDATA\CrashDumps",
75+
"$env:TEMP",
76+
"$env:GITHUB_WORKSPACE",
77+
"$env:USERPROFILE\AppData\Local\CrashDumps",
78+
"C:\Windows\System32\config\systemprofile\AppData\Local\CrashDumps"
79+
)
80+
81+
$dumps = @()
82+
foreach ($path in $searchPaths) {
83+
if (Test-Path $path) {
84+
Write-Host "Searching in: $path"
85+
$found = Get-ChildItem "$path\*.dmp" -ErrorAction SilentlyContinue | Where-Object {
86+
$_.CreationTime -gt $runStartTime
87+
}
88+
if ($found) {
89+
$dumps += $found
90+
Write-Host " Found $($found.Count) dump(s) from this CI run"
91+
}
92+
}
93+
}
94+
95+
if ($dumps) {
96+
Write-Host "Found $($dumps.Count) crash dump(s)"
97+
98+
# Install debugging tools if not present
99+
$cdbPath = "C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\cdb.exe"
100+
if (-not (Test-Path $cdbPath)) {
101+
Write-Host "Installing Windows Debugging Tools..."
102+
$url = "https://go.microsoft.com/fwlink/?linkid=2237387"
103+
Invoke-WebRequest -Uri $url -OutFile winsdksetup.exe
104+
Start-Process -Wait winsdksetup.exe -ArgumentList "/features OptionId.WindowsDesktopDebuggers /quiet"
105+
}
106+
107+
foreach ($dump in $dumps) {
108+
Write-Host "`n=================================="
109+
Write-Host "Analyzing crash dump: $($dump.Name)"
110+
Write-Host "Size: $([math]::Round($dump.Length / 1MB, 2)) MB"
111+
Write-Host "Time: $($dump.CreationTime)"
112+
Write-Host "=================================="
113+
114+
# Set symbol path
115+
$env:_NT_SYMBOL_PATH = "srv*C:\symbols*https://msdl.microsoft.com/download/symbols"
116+
117+
# Run analysis
118+
$analysisOutput = & $cdbPath -z $dump.FullName -c "!analyze -v; ~*k; lm; q" 2>&1 | Out-String
119+
120+
# Extract key information
121+
if ($analysisOutput -match "ExceptionCode:\s*([\w]+)") {
122+
Write-Host "Exception Code: $($Matches[1])"
123+
if ($Matches[1] -eq "c0000005") {
124+
Write-Host "Exception Type: ACCESS VIOLATION"
125+
}
126+
}
127+
128+
if ($analysisOutput -match "EXCEPTION_RECORD:\s*(.+)") {
129+
Write-Host "Exception Record: $($Matches[1])"
130+
}
131+
132+
if ($analysisOutput -match "FAULTING_IP:\s*\n(.+)") {
133+
Write-Host "Faulting Instruction: $($Matches[1])"
134+
}
135+
136+
# Save full analysis
137+
$analysisFile = "$($dump.FullName).analysis.txt"
138+
$analysisOutput | Out-File -FilePath $analysisFile
139+
Write-Host "`nFull analysis saved to: $analysisFile"
140+
141+
# Print stack trace section
142+
Write-Host "`n--- Stack Trace Preview ---"
143+
$stackSection = $analysisOutput -split "STACK_TEXT:" | Select-Object -Last 1
144+
$stackLines = $stackSection -split "`n" | Select-Object -First 20
145+
$stackLines | ForEach-Object { Write-Host $_ }
146+
Write-Host "--- End Stack Trace Preview ---"
147+
}
148+
149+
Write-Host "`n⚠️ Crash dumps detected! Download the 'crash-dumps' artifact for detailed analysis."
150+
151+
# Copy dumps to workspace for artifact upload
152+
$artifactPath = "$env:GITHUB_WORKSPACE\crash_dumps_collected"
153+
New-Item -ItemType Directory -Force -Path $artifactPath | Out-Null
154+
155+
foreach ($dump in $dumps) {
156+
$destName = "$($dump.Directory.Name)_$($dump.Name)"
157+
Copy-Item $dump.FullName -Destination "$artifactPath\$destName"
158+
if (Test-Path "$($dump.FullName).analysis.txt") {
159+
Copy-Item "$($dump.FullName).analysis.txt" -Destination "$artifactPath\$destName.analysis.txt"
160+
}
161+
}
162+
163+
Write-Host "Copied $($dumps.Count) dump(s) to artifact directory"
164+
} else {
165+
Write-Host "No crash dumps from this CI run found"
166+
}
167+
168+
- name: Upload crash dumps
169+
if: always()
170+
uses: actions/upload-artifact@v4
171+
with:
172+
name: crash-dumps-${{ github.run_id }}-${{ github.run_attempt }}
173+
path: |
174+
crash_dumps_collected/*.dmp
175+
crash_dumps_collected/*.txt
176+
if-no-files-found: ignore
177+
retention-days: 7
178+
179+
- name: Check test results
180+
shell: powershell
181+
working-directory: ${{ inputs.working-directory }}
182+
run: |
183+
# Re-check test results to fail the job if tests failed
184+
if ($LASTEXITCODE -ne 0) {
185+
Write-Host "Tests failed with exit code: $LASTEXITCODE"
186+
exit $LASTEXITCODE
187+
}

.github/workflows/bump_patch_version.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
bump_patch_version:
1717
if: github.repository_owner == 'zed-industries'
1818
runs-on:
19-
- buildjet-16vcpu-ubuntu-2204
19+
- namespace-profile-16x32-ubuntu-2204
2020
steps:
2121
- name: Checkout code
2222
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4

0 commit comments

Comments
 (0)