Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/patch-installer-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ jobs:
- name: Setup dotnet
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
dotnet-version: |
3.1.x
5.0.x

Expand All @@ -166,7 +166,7 @@ jobs:
choco install wixtoolset --version 3.11.2 --allow-downgrade --force
echo "C:\Program Files (x86)\WiX Toolset v3.11\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
if: github.event_name != 'pull_request'

- name: Import Base Build Artifacts
shell: pwsh
run: |
Expand Down Expand Up @@ -211,7 +211,7 @@ jobs:
)
$valueName = "Switch.System.DisableTempFileCollectionDirectoryFeature"
$expectedValue = "true"

foreach ($path in $regPaths) {
Write-Host "Adding or updating registry value in $path..."
if (-not (Test-Path $path)) {
Expand All @@ -233,11 +233,11 @@ jobs:
$results = Select-String -Path "build.log" -Pattern "^\s*[1-9][0-9]* Error\(s\)"
if ($results) {
foreach ($result in $results) {
Write-Host "Found errors in build.log $($result.LineNumber): $($result.Line)" -ForegroundColor red
Write-Host "Found errors in build.log $($result.LineNumber): $($result.Line)" -ForegroundColor red
}
exit 1
} else {
Write-Host "No errors found" -ForegroundColor green
Write-Host "No errors found" -ForegroundColor green
exit 0
}

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Collection.cpp
.vs/
Build/GlobalInclude.properties
Build/LibraryDevelopment.properties
Build/SilVersions.Local.props
Build/NuGet.exe
Build/nunit.framework.dll
Build/nunit.framework.xml
Expand Down
11 changes: 10 additions & 1 deletion .serena/project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ initial_prompt: |
Key build facts:
- Uses MSBuild Traversal SDK via FieldWorks.proj (21 ordered phases, 110+ projects)
- Native C++ (Phase 2) must build before managed code (Phases 3+)
- Build command: .\build.ps1 or msbuild FieldWorks.proj /p:Configuration=Debug /p:Platform=x64 /m
- Build command: .\build.ps1 or msbuild FieldWorks.proj /p:Configuration=Debug /m
- Check .github/instructions/*.instructions.md for coding guidelines (managed, native, testing, etc.)
- Per-folder AGENTS.md files describe component contracts and dependencies
# project_name: Intentionally left out so that the folder name will be used and worktrees will not conflict
Expand Down Expand Up @@ -136,3 +136,12 @@ symbol_info_budget:
# Note: the backend is fixed at startup. If a project with a different backend
# is activated post-init, an error will be returned.
language_backend:

# line ending convention to use when writing source files.
# Possible values: unset (use global setting), "lf", "crlf", or "native" (platform default)
# This does not affect Serena's own files (e.g. memories and configuration files), which always use native line endings.
line_ending:

# list of regex patterns which, when matched, mark a memory entry as read‑only.
# Extends the list from the global configuration, merging the two lists.
read_only_memory_patterns: []
4 changes: 3 additions & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
// C# language + test explorer in VS Code (ReSharper-first)
"jetbrains.resharper-code",

// Use the official C# extension for debugging language support, but disable its test runner to avoid conflicts with ReSharper's test runner.
"ms-dotnettools.csharp",

// PowerShell scripts are part of the standard workflow (build.ps1/test.ps1/etc.)
"ms-vscode.powershell",

Expand All @@ -17,6 +20,5 @@
"unwantedRecommendations": [
// This workspace is ReSharper-first; dotnet test providers are discouraged.
"ms-dotnettools.csdevkit",
"ms-dotnettools.csharp"
]
}
89 changes: 66 additions & 23 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,83 @@
"version": "0.2.0",
"configurations": [
{
"name": "FieldWorks",
"name": "FieldWorks (.NET Framework, Package)",
"type": "clr",
"request": "launch",
"preLaunchTask": "Prepare Debug (Package)",
"program": "${workspaceFolder}\\Output\\Debug\\FieldWorks.exe",
"cwd": "${workspaceFolder}\\Output\\Debug",
"console": "externalTerminal",
"justMyCode": false,
"requireExactSource": false,
"symbolOptions": {
"searchPaths": [
"${workspaceFolder}\\Output\\Debug"
],
"searchNuGetOrgSymbolServer": true
}
},
{
"name": "Debug NUnit Tests",
"name": "FieldWorks (.NET Framework, Package, Diagnostics)",
"type": "clr",
"request": "launch",
"preLaunchTask": "Build Debug",
"program": "dotnet",
"args": [
"test",
"${workspaceFolder}/${input:testProject}",
"--no-build",
"--settings",
"${workspaceFolder}/Test.runsettings",
"-c",
"Debug"
],
"cwd": "${workspaceFolder}",
"console": "integratedTerminal",
"justMyCode": false
}
],
"inputs": [
"preLaunchTask": "Prepare Debug (Package)",
"program": "${workspaceFolder}\\Output\\Debug\\FieldWorks.exe",
"cwd": "${workspaceFolder}\\Output\\Debug",
"console": "externalTerminal",
"justMyCode": false,
"requireExactSource": false,
"suppressJITOptimizations": true,
"logging": {
"moduleLoad": true,
"exceptions": true,
"programOutput": true
},
"symbolOptions": {
"searchPaths": [
"${workspaceFolder}\\Output\\Debug"
],
"searchNuGetOrgSymbolServer": true
}
},
{
"name": "FieldWorks (.NET Framework, Local Packages)",
"type": "clr",
"request": "launch",
"preLaunchTask": "Prepare Debug (Local Packages)",
"program": "${workspaceFolder}\\Output\\Debug\\FieldWorks.exe",
"cwd": "${workspaceFolder}\\Output\\Debug",
"console": "externalTerminal",
"justMyCode": false,
"requireExactSource": false,
"symbolOptions": {
"searchPaths": [
"${workspaceFolder}\\Output\\Debug"
],
"searchNuGetOrgSymbolServer": true
}
},
{
"id": "testProject",
"type": "promptString",
"description": "Path to test project (e.g., Src/CacheLight/CacheLightTests/CacheLightTests.csproj)",
"default": "Src/CacheLight/CacheLightTests/CacheLightTests.csproj"
"name": "FieldWorks (.NET Framework, Local Packages, Diagnostics)",
"type": "clr",
"request": "launch",
"preLaunchTask": "Prepare Debug (Local Packages)",
"program": "${workspaceFolder}\\Output\\Debug\\FieldWorks.exe",
"cwd": "${workspaceFolder}\\Output\\Debug",
"console": "externalTerminal",
"justMyCode": false,
"requireExactSource": false,
"logging": {
"moduleLoad": true,
"exceptions": true,
"programOutput": true
},
"symbolOptions": {
"searchPaths": [
"${workspaceFolder}\\Output\\Debug"
],
"searchNuGetOrgSymbolServer": true
}
}
]
}
93 changes: 88 additions & 5 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,91 @@
"kind": "build",
"isDefault": true
},
"detail": "Build FieldWorks (auto-detects worktree)",
"detail": "Build FieldWorks against the pinned dependency packages",
"options": {
"shell": {
"executable": "powershell.exe",
"args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-Command"]
}
},
"problemMatcher": "$msCompile"
},
{
"label": "Build (Package)",
"type": "shell",
"command": "./build.ps1",
"group": "build",
"detail": "Build FieldWorks against the pinned dependency packages",
"options": {
"shell": {
"executable": "powershell.exe",
"args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-Command"]
}
},
"problemMatcher": "$msCompile"
},
{
"label": "Build (Package, VS Code Debug)",
"type": "shell",
"command": "./build.ps1 -ManagedDebugType portable",
"group": "build",
"detail": "Build FieldWorks against pinned dependency packages with portable managed PDBs for the VS Code debugger",
"options": {
"shell": {
"executable": "powershell.exe",
"args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-Command"]
}
},
"problemMatcher": "$msCompile"
},
{
"label": "Prepare Debug (Package)",
"type": "shell",
"command": "./Build/Agent/Invoke-VsCodeDebugBuild.ps1 -ManagedDebugType portable",
"group": "build",
"detail": "Build for VS Code debugging only when relevant files changed since the last successful portable-PDB package-mode debug build",
"options": {
"shell": {
"executable": "powershell.exe",
"args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-Command"]
}
},
"problemMatcher": "$msCompile"
},
{
"label": "Build (Local Packages)",
"type": "shell",
"command": "./build.ps1 -LocalPalaso -LocalLcm -LocalChorus",
"group": "build",
"detail": "Pack libpalaso first, then liblcm and chorus in parallel, then build FieldWorks against those local packages",
"options": {
"shell": {
"executable": "powershell.exe",
"args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-Command"]
}
},
"problemMatcher": "$msCompile"
},
{
"label": "Build (Local Packages, VS Code Debug)",
"type": "shell",
"command": "./build.ps1 -LocalPalaso -LocalLcm -LocalChorus -ManagedDebugType portable",
"group": "build",
"detail": "Build FieldWorks against locally packed dependency packages with portable FieldWorks PDBs for the VS Code debugger",
"options": {
"shell": {
"executable": "powershell.exe",
"args": ["-NoProfile", "-ExecutionPolicy", "Bypass", "-Command"]
}
},
"problemMatcher": "$msCompile"
},
{
"label": "Prepare Debug (Local Packages)",
"type": "shell",
"command": "./Build/Agent/Invoke-VsCodeDebugBuild.ps1 -LocalPalaso -LocalLcm -LocalChorus -ManagedDebugType portable",
"group": "build",
"detail": "Build for VS Code debugging only when relevant files or local dependency repo states changed since the last successful local-package portable-PDB debug build",
"options": {
"shell": {
"executable": "powershell.exe",
Expand All @@ -239,7 +323,6 @@
},
"problemMatcher": "$msCompile"
},

// ==================== Test Tasks ====================
{
"label": "Test",
Expand All @@ -249,7 +332,7 @@
"kind": "test",
"isDefault": true
},
"detail": "Run all tests (auto-detects worktree). See specs/007-test-modernization-vstest/IGNORED_TESTS.md for the tracked skip/ignore inventory.",
"detail": "Run all tests. See specs/007-test-modernization-vstest/IGNORED_TESTS.md for the tracked skip/ignore inventory.",
"options": {
"shell": {
"executable": "powershell.exe",
Expand Down Expand Up @@ -484,9 +567,9 @@
"problemMatcher": []
},
{
"label": "Installer Check: Bundle (Debug, x64)",
"label": "Installer Check: Bundle (Debug)",
"type": "shell",
"command": "./scripts/Agent/Invoke-InstallerCheck.ps1 -InstallerType Bundle -Configuration Debug -Platform x64",
"command": "./scripts/Agent/Invoke-InstallerCheck.ps1 -InstallerType Bundle -Configuration Debug",
"detail": "Run snapshot -> install bundle -> snapshot -> diff (writes evidence under Output/InstallerEvidence/<RunId>)",
"options": {
"shell": {
Expand Down
Loading
Loading