Skip to content
Merged
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
16 changes: 14 additions & 2 deletions .github/workflows/vsix-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ on:
description: 'The extension name (e.g., BreakpointNotifier, OpenBinFolder)'
required: true
type: string
test-project:
description: 'Optional path to a test project or solution to run after the build. Tests are skipped when empty.'
required: false
type: string
default: ''
secrets:
HONEYCOMB_API_KEY:
description: 'Honeycomb API key (optional, only used if HoneycombConfig.cs exists)'
Expand Down Expand Up @@ -48,13 +53,20 @@ jobs:
- name: 3. Build Project
run: dotnet build ${{ env.PROJECT_PATH }} -c Release -p:SetVsixVersion=${{ steps.version.outputs.version }}

- name: 4. Create Information File
# Runs in the same job so the build above is reused. SetVsixVersion must match the build
# step exactly: MSBuild treats differing global properties as a different project instance
# and would rebuild the extension from scratch.
- name: 4. Run Tests
if: inputs.test-project != ''
run: dotnet test ${{ inputs.test-project }} -c Release -p:SetVsixVersion=${{ steps.version.outputs.version }}

- name: 5. Create Information File
uses: jsdaniell/create-json@v1.2.3
with:
name: '${{ env.OUTPUT_PATH }}/${{ env.INFO_FILE }}'
json: '{"sha":"${{ github.sha }}", "version":"${{ steps.version.outputs.version }}"}'

- name: 5. Upload Artifact
- name: 6. Upload Artifact
uses: actions/upload-artifact@v4
with:
path: |
Expand Down