Skip to content

package-vsix

package-vsix #11

Workflow file for this run

name: package-vsix
on:
workflow_dispatch:
inputs:
target:
description: "VSIX target (defaults to win32-x64)"
type: choice
required: true
default: win32-x64
options:
- win32-x64
- linux-x64
- darwin-x64
- darwin-arm64
jobs:
package:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: "10.0.x"
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: src/extension/package-lock.json
- name: Install extension dependencies
working-directory: src/extension
run: npm ci
- name: Package VSIX
working-directory: src/extension
shell: pwsh
run: |
$ErrorActionPreference = 'Stop'
npm run bundle-server
npm run bundle-debugger -- --target "${{ inputs.target }}"
npm run package
$vsceArgs = @("package", "--target", "${{ inputs.target }}", "--out", "vbnet-language-support-${{ inputs.target }}.vsix")
if ('${{ inputs.pre_release }}' -eq 'true') {
$vsceArgs += "--pre-release"
}
npx vsce @vsceArgs
- name: Upload VSIX artifact
uses: actions/upload-artifact@v4
with:
name: vbnet-language-support-${{ inputs.target }}.vsix
path: src/extension/vbnet-language-support-${{ inputs.target }}.vsix