You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+6-3Lines changed: 6 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -212,9 +212,12 @@ For this app:
212
212
- after changing GitHub rulesets, workflows, or release packaging, verify against the specific live blocked operation or failing run instead of assuming the policy or YAML change solved the issue
213
213
- desktop app build or publish jobs must use native runners for their target OS: macOS artifacts on macOS runners, Windows artifacts on Windows runners, and Linux artifacts on Linux runners
214
214
- desktop release assets must be native installable or directly executable outputs for each OS, not archives of raw publish folders; package the real `.exe`, `.snap`, `.dmg`, `.pkg`, `Setup.exe`, or equivalent runnable installer/app artifact instead of zipping intermediate publish directories
215
-
- desktop release versions must use the `ApplicationDisplayVersion` value in `DotPilot/DotPilot.csproj` as a manually maintained two-segment prefix, with CI appending the final segment from the build number (for example `0.0.<build-number>`)
216
-
- until the user explicitly changes the versioning policy, the manually maintained `ApplicationDisplayVersion` prefix for desktop releases must stay `0.0`, not `1.0`
217
-
- the release workflow must not take ownership of the first two version segments; those remain manually edited in source, while CI supplies only the last numeric segment and matching release tag/application version values
215
+
- desktop release version-prefix source of truth must live in `Directory.Build.props`, not as a separately maintained value in `DotPilot/DotPilot.csproj`
216
+
- until the user explicitly changes the versioning policy, the shared desktop release version prefix must stay `0.0`
217
+
- the release workflow must not take ownership of the human-managed prefix; CI may append only the final build segment to produce release versions such as `0.0.<build-number>`
218
+
- keep `ApplicationDisplayVersion` aligned to the shared version prefix during normal project evaluation, and let CI override it only with the final three-segment release version
219
+
- do not maintain a separate human-edited `ApplicationVersion` prefix in app projects; when packaging needs a build value, derive it from CI/build metadata instead of duplicating version authority
220
+
- the production desktop app identifier must be `com.managed-code.dotpilot`
218
221
- for CI and release automation in this solution, prefer existing `dotnet` and `MSBuild` capabilities plus small workflow-native steps over Python or adding a separate helper project for simple versioning and release-note tasks
219
222
- prefer MIT-licensed GitHub and NuGet dependencies when they materially accelerate delivery and align with the current architecture
220
223
- prefer official `.NET` AI evaluation libraries under `Microsoft.Extensions.AI.Evaluation*` for response-quality, tool-usage, and safety evaluation instead of custom or third-party evaluation stacks by default
Copy file name to clipboardExpand all lines: docs/ADR/ADR-0002-split-github-actions-build-and-release.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ That shape no longer matches the repository workflow:
16
16
17
17
- normal validation should stay focused on build and test feedback
18
18
- release publishing has different permissions, side effects, and operator intent
19
-
- the release path now needs CI-derived version resolution from `DotPilot/DotPilot.csproj`
19
+
- the release path now needs CI-derived version resolution from the shared version prefix in `Directory.Build.props`
20
20
- desktop releases must publish platform artifacts and create a GitHub Release with feature-oriented notes
21
21
22
22
Keeping all of that in one catch-all workflow makes the automation harder to reason about, harder to secure, and harder to operate safely.
@@ -31,7 +31,7 @@ We will split GitHub Actions into two explicit workflows:
31
31
- does not publish desktop artifacts or create releases
32
32
2.`release-publish.yml`
33
33
- runs automatically on pushes to `main`
34
-
- resolves the release version from the two-segment `ApplicationDisplayVersion` prefix in `DotPilot/DotPilot.csproj` plus the GitHub Actions build number
34
+
- resolves the release version from the two-segment `DotPilotVersionPrefix` value in `Directory.Build.props` plus the GitHub Actions build number
35
35
- publishes desktop release assets for macOS, Windows, and Linux as real packaged outputs instead of raw publish-folder archives
36
36
- uses `.dmg` for macOS, a self-contained single-file `.exe` for Windows, and `.snap` for Linux
37
37
- creates the GitHub Release
@@ -73,7 +73,7 @@ This keeps unrelated concerns coupled and makes ordinary CI runs carry release-s
73
73
74
74
Rejected.
75
75
76
-
The repository still needs a manual source-of-truth prefix in `DotPilot/DotPilot.csproj`, but the final build segment should be CI-derived so every `main` release is unique without generating a release-only source commit.
76
+
The repository still needs a manual source-of-truth prefix in `Directory.Build.props`, but the final build segment should be CI-derived so every `main` release is unique without generating a release-only source commit.
77
77
78
78
### 3. Store release notes entirely as manual workflow input
79
79
@@ -94,7 +94,7 @@ That makes release quality depend on operator memory instead of repo-owned histo
94
94
### Negative
95
95
96
96
- Release automation now depends on the GitHub Actions run number remaining a suitable build-number source for releases.
97
-
- The repository gains workflow-owned release logic that must stay aligned with `DotPilot.csproj`, git history, and `docs/Features/`.
97
+
- The repository gains workflow-owned release logic that must stay aligned with `Directory.Build.props`, project packaging metadata, git history, and `docs/Features/`.
0 commit comments