Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
153 commits
Select commit Hold shift + click to select a range
121eb96
feat(package): add publisher, categories, and contribute chat agents …
eedorenko Dec 4, 2025
9f592a1
feat(package): add publisher, categories, and contribute chat agents …
eedorenko Dec 4, 2025
1072ee0
feat(build): add VS Code extension packaging structure
eedorenko Dec 4, 2025
91bb04d
Merge branch 'eedorenko/hve-core-extension' of https://github.com/eed…
eedorenko Dec 4, 2025
997bfc5
refactor(package): update version and improve packaging scripts; excl…
eedorenko Dec 4, 2025
f895d63
refactor(package): remove unused fields and clean up package.json
eedorenko Dec 5, 2025
795aa19
Update extension/.vscodeignore
eedorenko Dec 5, 2025
5c40ddd
Update extension/PACKAGING.md
eedorenko Dec 5, 2025
4278558
docs(packaging): clarify the status of LICENSE and CHANGELOG.md in pa…
eedorenko Dec 5, 2025
781b797
Merge branch 'eedorenko/hve-core-extension' of https://github.com/eed…
eedorenko Dec 5, 2025
ba00c4c
Update extension/README.md
eedorenko Dec 5, 2025
52a96e1
refactor(vscodeignore): remove non-essential GitHub files from exclus…
eedorenko Dec 5, 2025
7201791
Merge branch 'eedorenko/hve-core-extension' of https://github.com/eed…
eedorenko Dec 5, 2025
f75279b
fix(README): update attribution formatting for consistency
eedorenko Dec 5, 2025
9d00779
fix(README): remove unnecessary asterisk from attribution line
eedorenko Dec 5, 2025
3afb211
Update extension/README.md
eedorenko Dec 5, 2025
00e569b
Initial commit
eedorenko Dec 5, 2025
1c95586
feat: Add HVE Learning Platform with sanitized content
eedorenko Dec 5, 2025
ce38b81
Squashed 'hve-learning/' content from commit 1c95586
eedorenko Dec 5, 2025
d107152
Merge commit 'ce38b8185274e2181aaf0f81d5ec3cb76b4fd28a' as 'hve-learn…
eedorenko Dec 5, 2025
2fafb4f
Merge branch 'main' into eedorenko/hve-core-extension
eedorenko Dec 5, 2025
bd7e72f
feat(extension): add VS Code extension packaging for HVE Learning Pla…
eedorenko Dec 5, 2025
3e9d949
feat(extension): add VS Code extension packaging for HVE Learning Pla…
eedorenko Dec 5, 2025
87434af
feat(extension): include complete learning platform content
eedorenko Dec 5, 2025
dd27b51
feat(extension): include complete learning platform content
eedorenko Dec 5, 2025
6fd16bf
feat(extension): update agent documentation and schema references for…
eedorenko Dec 6, 2025
a764e3c
feat(extension): update agent documentation and schema references for…
eedorenko Dec 6, 2025
95761ca
Merge branch 'eedorenko/hve-core-extension' of https://github.com/eed…
eedorenko Dec 6, 2025
1bfdf41
fix(extension): remove redundant resource access strategy and update …
eedorenko Dec 6, 2025
820e83f
fix: correct relative path references in hve-learning extension
eedorenko Dec 6, 2025
b431a3a
Remove hve-learning subtree for revert
eedorenko Dec 6, 2025
23a045c
Squashed 'hve-learning/' content from commit a764e3c
eedorenko Dec 6, 2025
d27c86f
Merge commit '23a045c99bac59cdad66c0ddc706c37a4ad4ec5e' as 'hve-learn…
eedorenko Dec 6, 2025
5b76d5b
Merge commit '23a045c99bac59cdad66c0ddc706c37a4ad4ec5e' as 'hve-learn…
eedorenko Dec 6, 2025
9739211
update: hve-learning agent content with latest changes
eedorenko Dec 6, 2025
c0efa55
update: hve-learning agent content with latest changes
eedorenko Dec 6, 2025
e733db4
feat(extension): enhance VS Code extension with validation and flexib…
eedorenko Dec 8, 2025
90f7428
feat(extension): enhance VS Code extension with validation and flexib…
eedorenko Dec 8, 2025
0d778ef
Merge pull request #1 from eedorenko/eedorenko/hve-core-extension
eedorenko Dec 8, 2025
565ef9a
refactor: centralize kata sources registry in learning-kata-coach
eedorenko Dec 9, 2025
69ded2b
refactor: centralize kata sources registry in learning-kata-coach
eedorenko Dec 9, 2025
1be761a
Merge pull request #2 from eedorenko/eedorenko/hve-core-extension
eedorenko Dec 9, 2025
78fcc67
feat(coaching): implement mandatory recursive content fetching strate…
eedorenko Dec 9, 2025
97ebc77
Update extension packaging documentation with complete build command
eedorenko Dec 9, 2025
ebcd231
Update extension packaging documentation with complete build command
eedorenko Dec 9, 2025
83d4d41
Update learning content creator agent, vscodeignore, and kata validat…
eedorenko Dec 9, 2025
c6c21da
Update learning content creator agent, vscodeignore, and kata validat…
eedorenko Dec 9, 2025
aaac54a
Merge pull request #3 from eedorenko/eedorenko/hve-core-extension
eedorenko Dec 9, 2025
5f70b1d
Update README and vscodeignore for extension improvements
eedorenko Dec 9, 2025
04f70b1
Update README and vscodeignore for extension improvements
eedorenko Dec 9, 2025
92c0c65
Merge pull request #4 from eedorenko/eedorenko/hve-core-extension
eedorenko Dec 9, 2025
e9b3d85
feat(coaching): enhance kata discovery protocol with mandatory checks…
eedorenko Dec 9, 2025
3edc5ea
Merge branch 'main' of https://github.com/eedorenko/hve-learning
eedorenko Dec 9, 2025
36c3826
feat(docs): update learning-kata-coach agent with mandatory pre-coach…
eedorenko Dec 9, 2025
097dd3a
feat(docs): add README for Learning Platform Schemas detailing JSON s…
eedorenko Dec 10, 2025
2ed91c8
fix(docs): clarify note on schema usage in README
eedorenko Dec 10, 2025
bbde877
feat(docs): add comprehensive instructions and support documentation …
eedorenko Dec 10, 2025
8f0e53a
fix(docs): update learning session example in README and increment ve…
eedorenko Dec 10, 2025
d7e6332
feat(docs): enhance documentation for learning agents and update pack…
eedorenko Dec 11, 2025
bc040d3
fix(docs): update tools list in learning agents for consistency and c…
eedorenko Dec 12, 2025
88ee417
chore(docs): remove outdated README files for agents and instructions
eedorenko Dec 12, 2025
c48b3f7
chore(docs): remove outdated README files for agents and instructions
eedorenko Dec 12, 2025
6933565
Merge branch 'main' of https://github.com/eedorenko/hve-learning
eedorenko Dec 12, 2025
f0f525c
feat(docs): update kata content instructions and schema to reflect ch…
eedorenko Dec 12, 2025
033dcbf
Refactor code structure for improved readability and maintainability
eedorenko Dec 15, 2025
ca0bdf5
delete: remove kata category README instructions file
eedorenko Dec 15, 2025
995fd9d
delete: remove outdated resource access strategy documentation
eedorenko Dec 15, 2025
d840d5d
delete: remove .DS_Store from repository
eedorenko Dec 15, 2025
0a5180a
fix(docs): update installation instructions for HVE Learning extensio…
eedorenko Dec 16, 2025
6c017b0
Add CI workflows for markdown link check, linting, spell check, and t…
eedorenko Dec 16, 2025
0a0f6b5
chore(ci): remove soft-fail option from code quality validation in CI…
eedorenko Dec 16, 2025
31129aa
chore(ci): update PR workflow to include CodeQL security analysis job
eedorenko Dec 16, 2025
113a58e
chore: remove dependency on code-quality-validation for CodeQL analys…
eedorenko Dec 16, 2025
937e3cb
Add frontmatter schemas and configuration for markdown linting
eedorenko Dec 16, 2025
96f17e6
Refactor markdown formatting and improve documentation consistency ac…
eedorenko Dec 16, 2025
4f84353
docs: add commit message instructions and markdown file standards
eedorenko Dec 16, 2025
38a617f
Fix typo in VS Code extension name
eedorenko Dec 16, 2025
9d29531
Update README to specify katas in coaching commands
eedorenko Dec 16, 2025
51d68e7
docs: add critical requirement for kata numbering convention and rati…
eedorenko Dec 16, 2025
b593b17
Merge pull request #21 from microsoft/eedorenko/update-content-creator
eedorenko Dec 16, 2025
b6dd674
feat: implement CI workflows for packaging and publishing VS Code ext…
eedorenko Dec 17, 2025
2c3c22d
docs: update PACKAGING.md and Package-Extension.ps1 for clarity and f…
eedorenko Dec 17, 2025
c659a7f
Potential fix for code scanning alert no. 1: Workflow does not contai…
eedorenko Dec 17, 2025
68e3a66
fix: enhance workflows and scripts for better error handling and clarity
eedorenko Dec 17, 2025
3bfe222
Merge branch 'eedorenko/gh-workflow-publish-exteension' of https://gi…
eedorenko Dec 17, 2025
4a40c6a
Merge pull request #22 from microsoft/eedorenko/gh-workflow-publish-e…
eedorenko Dec 17, 2025
e90c6dd
fix: update CI workflow to include eedorenko branches and remove perm…
eedorenko Dec 17, 2025
7c01898
fix: add installation step for PowerShell-Yaml module in extension pa…
eedorenko Dec 17, 2025
4283a43
feat: add preparation script for VS Code extension packaging and enha…
eedorenko Dec 17, 2025
7dd0f8d
fix: trim inputs for version and dev patch number in packaging scripts
eedorenko Dec 17, 2025
08a6ba1
fix: streamline command argument handling in packaging script
eedorenko Dec 17, 2025
b49115e
fix: refactor command argument handling in packaging script to use ar…
eedorenko Dec 17, 2025
3903d08
fix: enhance packaging script to handle version and dev patch number …
eedorenko Dec 17, 2025
2d2c9ca
fix: update packaging workflow to conditionally use changelog based o…
eedorenko Dec 17, 2025
4dea6ba
Revise extension packaging instructions
eedorenko Dec 17, 2025
6b8a07b
feat: add script to obtain Azure Service Principal ID and access token
eedorenko Dec 17, 2025
ea2b5fd
fix: update permissions in workflow to include id-token write access
eedorenko Dec 17, 2025
4edf39a
fix: update Azure CLI action to use subscription ID instead of allowi…
eedorenko Dec 17, 2025
f38e1d5
fix: update version to 1.0.7, enhance changelog preparation, and remo…
eedorenko Dec 17, 2025
350f7ec
docs: update PACKAGING.md to improve section headings and clarify steps
eedorenko Dec 17, 2025
a649e65
fix: add dependency on code-quality-validation and codeql jobs for ex…
eedorenko Dec 17, 2025
3a02e9c
fix: allow workflow to trigger on branches prefixed with eedorenko/
eedorenko Dec 17, 2025
a7b6a60
Merge branch 'main' into eedorenko/packaging
eedorenko Dec 17, 2025
67d3097
fix: remove redundant permissions declaration in package job
eedorenko Dec 17, 2025
eb1eabe
Merge branch 'eedorenko/packaging' of https://github.com/eedorenko/hv…
eedorenko Dec 17, 2025
9211ed8
fix: add Azure credential option for VSCE publish command
eedorenko Dec 17, 2025
217fd05
Update scripts/extension/Prepare-Extension.ps1
eedorenko Dec 17, 2025
3fb5922
fix: improve version format error messages in packaging script
eedorenko Dec 17, 2025
7f85444
Merge branch 'eedorenko/packaging' of https://github.com/eedorenko/hv…
eedorenko Dec 17, 2025
bdfee05
fix: update README to reflect new workflows and extension packaging s…
eedorenko Dec 17, 2025
7eaeae0
docs: enhance PACKAGING.md with CI/CD workflows for automated packagi…
eedorenko Dec 17, 2025
323a961
Merge pull request #23 from microsoft/eedorenko/packaging
eedorenko Dec 17, 2025
bb98e63
fix: update version extraction logic in extension publish workflow
eedorenko Dec 17, 2025
2ce2440
Merge branch 'main' into eedorenko/packaging
eedorenko Dec 17, 2025
e3ec791
fix: add version normalization step in extension publish workflow
eedorenko Dec 17, 2025
40e7641
Merge pull request #24 from microsoft/eedorenko/packaging
eedorenko Dec 17, 2025
26b00fe
fix: streamline changelog creation and version normalization in publi…
eedorenko Dec 17, 2025
b342844
fix: enhance changelog creation and version normalization logic for r…
eedorenko Dec 18, 2025
e92a84e
fix: improve changelog creation for release and manual triggers
eedorenko Dec 18, 2025
dafa2f0
fix: simplify changelog creation logic for release and manual triggers
eedorenko Dec 18, 2025
19a59d6
fix: update changelog creation to use heredoc for better formatting
eedorenko Dec 18, 2025
e71786b
Merge pull request #25 from microsoft/eedorenko/packaging
eedorenko Dec 18, 2025
27fae33
fix: update version to 1.0.8 and correct repository URL in package.json
eedorenko Dec 18, 2025
6d47326
Merge branch 'main' of https://github.com/eedorenko/hve-learning
eedorenko Dec 18, 2025
04a151d
fix: include CHANGELOG.md in .vscodeignore to ensure it's packaged
eedorenko Dec 18, 2025
140a4e9
fix: update version to 1.0.10 in package.json
eedorenko Dec 18, 2025
f561d8c
fix: update CAIRA branch reference in learning-kata-coach.agent.md
eedorenko Dec 19, 2025
e63890c
fix: improve formatting and clarity in learning content creator and k…
eedorenko Dec 19, 2025
0d29734
fix: remove unnecessary blank lines in learning content creator docum…
eedorenko Dec 19, 2025
a35ccb2
Merge pull request #26 from microsoft/eedorenko/improve-content-creator
eedorenko Dec 19, 2025
8377bf1
fix: update version to 1.0.11 in package.json
eedorenko Dec 19, 2025
a772b4a
Squashed 'hve-core/' content from commit d840d5d
eedorenko Dec 19, 2025
b9f19a7
Merge commit 'a772b4a84c084265a4a3471e785d3b90a611aed1' as 'hve-core'
eedorenko Dec 19, 2025
51e73a2
fix: rename variable chatInstructionsFiles to chatInstructions for cl…
eedorenko Dec 19, 2025
fa9916e
chore: remove hve-core subtree
eedorenko Dec 19, 2025
afc1140
Merge commit '9100281449259b8c7ed9cc2f1b92ded55cb940b5' as 'hve-core'
eedorenko Dec 19, 2025
3577fa6
Merge branch 'microsoft:main' into eedorenko/hve-core-extension
eedorenko Dec 19, 2025
978b0e7
chore: pull latest hve-core subtree changes
eedorenko Dec 19, 2025
340c52c
feat(scripts): add extension packaging scripts and workflows
eedorenko Dec 20, 2025
fad6b83
feat(scripts): include dev-tools in extension and add extension fallback
eedorenko Dec 20, 2025
33b31a1
fix(extension): address PR review comments
eedorenko Dec 20, 2025
fea19bf
Update extension/.vscodeignore
eedorenko Dec 20, 2025
b3164d0
Update .github/workflows/main.yml
eedorenko Dec 20, 2025
e15acfd
Update extension/LICENSE
eedorenko Dec 20, 2025
491f87f
fix(extension): address PR review comments for cross-platform compati…
eedorenko Dec 20, 2025
6627fd5
Merge remote-tracking branch 'hve-core-remote/eedorenko/hve-core-exte…
eedorenko Dec 20, 2025
5e583b1
Update scripts/extension/Prepare-Extension.ps1
eedorenko Dec 20, 2025
76cf581
Update .github/workflows/extension-package.yml
eedorenko Dec 20, 2025
5168765
Update scripts/extension/Prepare-Extension.ps1
eedorenko Dec 20, 2025
e60d2d8
Update extension/.vscodeignore
eedorenko Dec 20, 2025
e4dc2c7
Update scripts/extension/Prepare-Extension.ps1
eedorenko Dec 20, 2025
331bba9
Update scripts/extension/Prepare-Extension.ps1
eedorenko Dec 20, 2025
6d94246
Merge branch 'main' into eedorenko/hve-core-extension
eedorenko Jan 5, 2026
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
17 changes: 15 additions & 2 deletions .github/prompts/pull-request.prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,24 @@ You WILL ALWAYS preserve template structure and formatting.
* **If `pr-reference.xml` is NOT provided**:
* Use `git fetch {{remote}} {{branch}}` determined from `${input:branch:origin/main}`, to update the remote branch to build a correct pull request.
* **MANDATORY**: You MUST create `pr-reference.xml` using the repository scripts—select the command that matches your host environment. Do not use any other commands to gather git status or diffs.
* **Unix-like shells**: Use `./scripts/dev-tools/pr-ref-gen.sh`.
* **Script Location**: Scripts may be available locally at `./scripts/dev-tools/` OR bundled in a VS Code extension. Check local path first, then fall back to extension:
* **Local path**: `./scripts/dev-tools/pr-ref-gen.sh` or `./scripts/dev-tools/Generate-PrReference.ps1`
* **Extension path** (if local not found): `~/.vscode/extensions/ise-hve-essentials.hve-core-*/scripts/dev-tools/`
* **Locate from extension** (cross-platform):

```bash
# Find PowerShell script
pwsh -c '$SCRIPT = Get-ChildItem -Path "$HOME/.vscode/extensions" -Filter "Generate-PrReference.ps1" -Recurse -ErrorAction SilentlyContinue | Select-Object -First 1 -ExpandProperty FullName; Write-Host "Found: $SCRIPT"'

# Find shell script
find ~/.vscode/extensions -name "pr-ref-gen.sh" 2>/dev/null | head -1
```

* **Unix-like shells**: Use `./scripts/dev-tools/pr-ref-gen.sh` (or extension path if local not available).
* Default: `./scripts/dev-tools/pr-ref-gen.sh`.
* If `${input:excludeMarkdown}` is true: `./scripts/dev-tools/pr-ref-gen.sh --no-md-diff` (excludes markdown).
* If a different base branch is specified via `${input:branch}`: `./scripts/dev-tools/pr-ref-gen.sh --no-md-diff --base-branch ${input:branch}` (adjust markdown inclusion as needed).
* **Windows PowerShell hosts**: Use `pwsh -File ./scripts/dev-tools/Generate-PrReference.ps1`.
* **Windows PowerShell hosts**: Use `pwsh -File ./scripts/dev-tools/Generate-PrReference.ps1` (or extension path if local not available).
* Default: `pwsh -File ./scripts/dev-tools/Generate-PrReference.ps1`.
* If `${input:excludeMarkdown}` is true: `pwsh -File ./scripts/dev-tools/Generate-PrReference.ps1 -ExcludeMarkdownDiff` (excludes markdown).
* If a different base branch is specified via `${input:branch}`: `pwsh -File ./scripts/dev-tools/Generate-PrReference.ps1 -ExcludeMarkdownDiff -BaseBranch ${input:branch}` (adjust markdown inclusion as needed).
Expand Down
103 changes: 103 additions & 0 deletions .github/workflows/extension-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
name: Package Extension

on:
workflow_call:
inputs:
version:
description: 'Full version to use (e.g., 1.0.0 or empty to use package.json)'
required: false
type: string
default: ''
dev-patch-number:
description: 'Dev patch number to append (creates version like 1.0.0-dev.123)'
required: false
type: string
default: ''
use-changelog:
description: 'Whether to download and use changelog artifact'
required: false
type: boolean
default: false
outputs:
version:
description: 'Version that was packaged'
value: ${{ jobs.package.outputs.version }}
vsix-file:
description: 'Path to the packaged VSIX file'
value: ${{ jobs.package.outputs.vsix-file }}

permissions:
contents: read

jobs:
package:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.package.outputs.version }}
vsix-file: ${{ steps.package.outputs.vsix-file }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit

- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false

- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: '20'

- name: Install dependencies
run: npm install -g @vscode/vsce

- name: Setup PowerShell
shell: pwsh
run: |
Write-Host "PowerShell version: $($PSVersionTable.PSVersion)"

- name: Download changelog artifact
if: inputs.use-changelog
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
name: changelog
path: ./
continue-on-error: true

- name: Package extension
id: package
shell: pwsh
run: |
$version = "${{ inputs.version }}".Trim()
$devPatch = "${{ inputs.dev-patch-number }}".Trim()

Write-Host "📦 Packaging extension..."

$arguments = @()

if ($version) {
$arguments += '-Version'
$arguments += $version
}

if ($devPatch) {
$arguments += '-DevPatchNumber'
$arguments += $devPatch
}

if (Test-Path "./CHANGELOG.md") {
$arguments += '-ChangelogPath'
$arguments += "./CHANGELOG.md"
}

./scripts/extension/Package-Extension.ps1 @arguments

- name: Upload VSIX artifact
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: extension-vsix
path: extension/*.vsix
retention-days: 30
146 changes: 146 additions & 0 deletions .github/workflows/extension-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
name: Publish Extension

on:
release:
types: [published]
workflow_dispatch:
inputs:
version:
description: 'Version to publish (leave empty to use package.json version)'
required: false
type: string
default: ''
dry-run:
description: 'Dry run (package only, do not publish)'
required: false
type: boolean
default: false

permissions:
contents: read
id-token: write

jobs:
prepare-changelog:
name: Prepare Changelog
runs-on: ubuntu-latest
outputs:
changelog-path: ${{ steps.create-changelog.outputs.path }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit

- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false

- name: Create changelog file
id: create-changelog
run: |
if [ "${{ github.event_name }}" == "release" ]; then
cat > CHANGELOG.md << 'EOF'
${{ github.event.release.body }}
EOF
echo "path=CHANGELOG.md" >> $GITHUB_OUTPUT
elif [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
echo "path=" >> $GITHUB_OUTPUT
else
echo "path=" >> $GITHUB_OUTPUT
fi

- name: Upload changelog
if: steps.create-changelog.outputs.path != ''
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: changelog
path: CHANGELOG.md
retention-days: 1

normalize-version:
name: Normalize Version
runs-on: ubuntu-latest
outputs:
version: ${{ steps.normalize.outputs.version }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit

- name: Normalize version string
id: normalize
run: |
if [ "${{ github.event_name }}" == "release" ]; then
VERSION="${{ github.event.release.tag_name }}"
else
VERSION="${{ inputs.version }}"
fi
# Strip leading 'v' if present
VERSION="${VERSION#v}"
echo "version=$VERSION" >> $GITHUB_OUTPUT

package:
name: Package Extension
needs: [prepare-changelog, normalize-version]
uses: ./.github/workflows/extension-package.yml
with:
version: ${{ needs.normalize-version.outputs.version }}
use-changelog: ${{ needs.prepare-changelog.outputs.changelog-path != '' }}
permissions:
contents: read

publish:
name: Publish to Marketplace
needs: [prepare-changelog, package]
if: ${{ !inputs.dry-run }}
runs-on: ubuntu-latest
environment: marketplace
steps:
- name: Harden Runner
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
with:
egress-policy: audit

- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false

- name: Azure Login (OIDC)
uses: azure/login@a65d910e8af852a8061c627c456678983e180302 # v2.2.0
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: '20'

- name: Install VSCE
run: npm install -g @vscode/vsce

- name: Download VSIX artifact
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
name: extension-vsix
path: ./extension

- name: Publish to VS Code Marketplace
run: |
VSIX_FILE=$(ls -t extension/hve-core-*.vsix | head -1)
echo "📦 Publishing: $VSIX_FILE"
vsce publish --packagePath "$VSIX_FILE" --azure-credential

- name: Summary
run: |
echo "## 🎉 Extension Published Successfully" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Version:** ${{ needs.package.outputs.version }}" >> $GITHUB_STEP_SUMMARY
echo "**VSIX File:** ${{ needs.package.outputs.vsix-file }}" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "View on [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=ise-hve-essentials.hve-core)" >> $GITHUB_STEP_SUMMARY
15 changes: 15 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- main

workflow_dispatch:

# Minimal permissions for security
Expand Down Expand Up @@ -46,13 +47,27 @@ jobs:
upload-sarif: true
upload-artifact: true

extension-package:
name: Package VS Code Extension
needs:
- spell-check
- markdown-lint
- table-format
- dependency-pinning-scan
uses: ./.github/workflows/extension-package.yml
with:
dev-patch-number: ${{ github.run_number }}
permissions:
contents: read

release-please:
name: Release Please
needs:
- spell-check
- markdown-lint
- table-format
- dependency-pinning-scan
- extension-package
Copy link

Copilot AI Dec 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow adds 'extension-package' as a dependency for 'release-please' at line 70, but this creates an unnecessary build dependency. If extension packaging fails (e.g., due to a transient issue), it will block releases entirely. Consider whether release-please genuinely needs the extension to be packaged before it can create a release, or if this dependency should be removed to allow independent workflows.

Suggested change
- extension-package

Copilot uses AI. Check for mistakes.
runs-on: ubuntu-latest
permissions:
contents: write
Expand Down
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
##
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore

# macOS
.DS_Store

# User-specific files
*.rsuser
*.suo
Expand Down Expand Up @@ -412,6 +415,10 @@ FodyWeavers.xsd
# Built Visual Studio Code Extensions
*.vsix

# Extension build artifacts
extension/LICENSE
extension/CHANGELOG.md

# Windows Installer files from build outputs
*.cab
*.msi
Expand Down
13 changes: 13 additions & 0 deletions extension/.vscodeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Exclude everything by default
**

# Include only the extension essentials
!.github/chatmodes/**
!.github/prompts/**
!.github/instructions/**
!.github/agents/**
!scripts/dev-tools/**
!package.json
!README.md
!LICENSE
!CHANGELOG.md
21 changes: 21 additions & 0 deletions extension/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# MIT License

Copyright (c) Microsoft Corporation. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Loading
Loading