Skip to content

Commit e8a3031

Browse files
d1820claude
andcommitted
Wire up CI/CD for CodeDocumentor2026 Marketplace deployment
- Version and pack only CodeDocumentor2026.vsix (drop stale vs2022 steps) - Remove wrong MPF dependency from 2026 vsixmanifest - Add publishManifest.json for VS Marketplace (publisher DanTurco, internalName CodeDocumentor2026) - Enable deploy job: triggers on GitHub release or workflow_dispatch is_release=true - Add merge direction hard rule to CLAUDE.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent b62baae commit e8a3031

4 files changed

Lines changed: 48 additions & 34 deletions

File tree

.claude/CLAUDE.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22

33
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
44

5+
## HARD RULE: Git Merge Direction — ZERO EXCEPTIONS
6+
7+
**"Merge in main" ALWAYS means merge main INTO the current branch. Never the reverse.**
8+
9+
- `git fetch origin main && git merge origin/main` -- that's it
10+
- NEVER merge the current branch INTO main directly
11+
- NEVER push to main directly; main requires a PR
12+
- No exceptions. No interpretation. Current branch receives main, always.
13+
514
## Build and Test
615

716
```

.github/workflows/dotnet.yml

Lines changed: 26 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -59,17 +59,11 @@ jobs:
5959
# uses: NuGet/setup-nuget@296fd3ccf8528660c91106efefe2364482f86d6f
6060
uses: NuGet/setup-nuget@v2.0.0
6161

62-
- name: Update Visual Studio Extension version
62+
- name: Update Visual Studio Extension version (vs2026)
6363
uses: cezarypiatek/VsixVersionAction@1.2
6464
with:
6565
version: ${{ env.Version }}
66-
vsix-manifest-file: 'Manifests\vs2022\source.extension.vsixmanifest'
67-
68-
- name: Update assembly version
69-
run: |
70-
(Get-Content -Path CodeDocumentor\Settings\VsixOptions.cs) |
71-
ForEach-Object {$_ -Replace '${{ env.BaseVersion }}', '${{ env.Version }}'} |
72-
Set-Content -Path CodeDocumentor\Settings\VsixOptions.cs
66+
vsix-manifest-file: 'CodeDocumentor2026\source.extension.vsixmanifest'
7367

7468
- name: Restore dependencies
7569
run: nuget restore CodeDocumentor.sln
@@ -81,28 +75,28 @@ jobs:
8175
run: vstest.console.exe CodeDocumentor.Test\bin\Release\net48\CodeDocumentor.Test.dll
8276

8377
- uses: actions/upload-artifact@v4.3.1
84-
name: "Pack"
78+
name: "Pack vs2026"
8579
with:
86-
name: "CodeDocumentor.vsix"
87-
path: CodeDocumentor\bin\Release\CodeDocumentor.vsix
88-
89-
# This is not enabled because it needs a publish manifest which is the form when you upload a VSIX
90-
# deploy:
91-
# # Publish only when creating a GitHub Release
92-
# # https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository
93-
# # You can update this logic if you want to manage releases differently
94-
# if: github.event_name == 'release' || github.event.inputs.is_release == true
95-
# runs-on: [windows-latest]
96-
# needs: [ build ]
97-
# steps:
98-
# # Download the NuGet package created in the previous job
99-
# - uses: actions/download-artifact@v4.1.2
100-
# with:
101-
# name: "CodeDocumentor.vsix"
102-
103-
# - name: Publish extension to Marketplace
104-
# uses: cezarypiatek/VsixPublisherAction@1.1
105-
# with:
106-
# extension-file: 'CodeDocumentor.vsix'
107-
# publish-manifest-file: 'CodeDocumentor\CodeDocumentor.vsix\manifest.json'
108-
# personal-access-code: ${{ secrets.VS_PUBLISHER_ACCESS_TOKEN }}
80+
name: "CodeDocumentor2026.vsix"
81+
path: CodeDocumentor2026\bin\Release\CodeDocumentor2026.vsix
82+
83+
deploy:
84+
# Publish only when creating a GitHub Release
85+
# https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository
86+
if: github.event_name == 'release' || github.event.inputs.is_release == true
87+
runs-on: [windows-latest]
88+
needs: [ build ]
89+
steps:
90+
- uses: actions/checkout@v4.1.1
91+
92+
- uses: actions/download-artifact@v4.1.2
93+
with:
94+
name: "CodeDocumentor2026.vsix"
95+
path: '.'
96+
97+
- name: Publish extension to Marketplace
98+
uses: cezarypiatek/VsixPublisherAction@1.1
99+
with:
100+
extension-file: 'CodeDocumentor2026.vsix'
101+
publish-manifest-file: 'CodeDocumentor2026\publishManifest.json'
102+
personal-access-code: ${{ secrets.VS_PUBLISHER_ACCESS_TOKEN }}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"$schema": "http://json.schemastore.org/vsix-publish",
3+
"categories": [ "Coding" ],
4+
"identity": {
5+
"internalName": "CodeDocumentor2026"
6+
},
7+
"overview": "README.md",
8+
"publisher": "DanTurco",
9+
"pricing": "Free",
10+
"qna": true,
11+
"tags": [ "documentation", "xml", "comments", "intellisense", "code generator" ]
12+
}

CodeDocumentor2026/source.extension.vsixmanifest

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@
2929
</Installation>
3030
<Dependencies>
3131
<Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="[4.5,)" />
32-
<Dependency Id="Microsoft.VisualStudio.MPF.16.0" DisplayName="Visual Studio MPF 16.0" d:Source="Installed" Version="[16.0,17.0)" />
33-
</Dependencies>
32+
</Dependencies>
3433
<Prerequisites>
3534
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[17.0,)" DisplayName="Visual Studio core editor" />
3635
</Prerequisites>

0 commit comments

Comments
 (0)