Skip to content

Add publish workflow #106

Add publish workflow

Add publish workflow #106

Workflow file for this run

name: Package
on:
push
permissions:
contents: write
deployments: write
jobs:
package:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 18.17
- name: Install VSCE
run: npm install -g @vscode/vsce
- name: Install NPM Dependencies
run: npm install
- name: Compile VSCode Extension
run: npm run compile
- uses: NuGet/setup-nuget@v1
- uses: lukka/get-cmake@latest
with:
cmakeVersion: "~3.25.0"
ninjaVersion: "^1.11.1"
- name: Install VSDbg Engine Extension Dependencies
run: |
nuget install Microsoft.VSSDK.Debugger.VSDebugEng -Version 17.0.2012801
nuget install Microsoft.VSSDK.Debugger.VSDConfigTool -Version 17.0.2012801
- uses: TheMrMilchmann/setup-msvc-dev@v2
with:
arch: x64
- name: Configure VSDbg Engine Extension (x64)
run: |
mkdir build/x64
cd build/x64
cmake "${{ github.workspace }}\vsdbg-engine-extension" `
-G Ninja `
-DCMAKE_BUILD_TYPE=Debug `
-DCMAKE_PREFIX_PATH="${{ github.workspace }}\Microsoft.VSSDK.Debugger.VSDebugEng.17.0.2012801\build\native;${{ github.workspace }}\Microsoft.VSSDK.Debugger.VSDConfigTool.17.0.2012801\build" `
-DCMAKE_INSTALL_PREFIX="${{ github.workspace }}\vsdbg-engine-extension" `
-DCHILDDEBUGGER_INSTALL_PDB=ON
- name: Build & Install VSDbg Engine Extension (x64)
run: |
cd build/x64
ninja install
- uses: TheMrMilchmann/setup-msvc-dev@v2
with:
arch: x86
- name: Configure VSDbg Engine Extension (x86)
run: |
mkdir build/x86
cd build/x86
cmake "${{ github.workspace }}\vsdbg-engine-extension" `
-G Ninja `
-DCMAKE_BUILD_TYPE=Debug `
-DCMAKE_PREFIX_PATH="${{ github.workspace }}\Microsoft.VSSDK.Debugger.VSDebugEng.17.0.2012801\build\native;${{ github.workspace }}\Microsoft.VSSDK.Debugger.VSDConfigTool.17.0.2012801\build" `
-DCMAKE_INSTALL_PREFIX="${{ github.workspace }}\vsdbg-engine-extension" `
-DCHILDDEBUGGER_INSTALL_PDB=ON
- name: Build & Install VSDbg Engine Extension (x86)
run: |
cd build/x86
ninja install
- name: Add build info
run: |
"ref: ${{ github.ref_name }}`n" + `
"commit: ${{ github.sha }}`n" + `
"date: $(Get-Date -UFormat '%FT%T%Z' -AsUTC)" | Out-File -Path "${{ github.workspace }}/vsdbg-engine-extension/bin/info.txt"
- name: Package VSIX
run: |
vsce package --target win32-x64 --pre-release
mv childdebugger-win32-x64-*.vsix childdebugger-win32-x64.vsix
- name: Upload extension VSIX
uses: actions/upload-artifact@v3
with:
name: childdebugger-win32-x64
path: ${{ github.workspace }}/*.vsix
- name: Upload test binaries
uses: actions/upload-artifact@v3
with:
name: childdebugger-win32-x64-tests
path: |
${{ github.workspace }}/vsdbg-engine-extension/bin/tests/x64/caller.exe
${{ github.workspace }}/vsdbg-engine-extension/bin/tests/x64/caller.pdb
${{ github.workspace }}/vsdbg-engine-extension/bin/tests/x64/callee.exe
${{ github.workspace }}/vsdbg-engine-extension/bin/tests/x64/callee.pdb
${{ github.workspace }}/vsdbg-engine-extension/bin/tests/x86/caller.exe
${{ github.workspace }}/vsdbg-engine-extension/bin/tests/x86/caller.pdb
${{ github.workspace }}/vsdbg-engine-extension/bin/tests/x86/callee.exe
${{ github.workspace }}/vsdbg-engine-extension/bin/tests/x86/callee.pdb
${{ github.workspace }}/vsdbg-engine-extension/bin/info.txt
- name: Upload debug symbols
uses: actions/upload-artifact@v3
with:
name: childdebugger-win32-x64-debug-symbols
path: |
${{ github.workspace }}/vsdbg-engine-extension/bin/x64/ChildDebugger.pdb
${{ github.workspace }}/vsdbg-engine-extension/bin/x86/ChildDebugger.pdb
${{ github.workspace }}/vsdbg-engine-extension/bin/info.txt