Skip to content

Release

Release #18

Workflow file for this run

name: Release
permissions:
contents: write
on:
workflow_dispatch:
env:
PNPM_HOME: ~/.local/share/pnpm
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup mise
uses: jdx/mise-action@v2
- name: Setup pnpm
run: |
mkdir -p ~/.local/share/pnpm
echo ~/.local/share/pnpm >> $GITHUB_PATH
- name: Install VSCode Extension Manager
run: pnpm install --global @vscode/vsce@2
- name: Install Open VSX Extension Manager
run: pnpm install --global ovsx@0
- name: Install Extension Dependencies
working-directory: extension
run: pnpm install --frozen-lockfile
- name: Build Extension
working-directory: extension
run: pnpm build
- name: Package Extension
working-directory: extension
run: vsce package --no-dependencies
- name: Release Extension on VSCode Marketplace
env:
VSCE_PAT: ${{secrets.VSCE_RELEASE_TOKEN}}
working-directory: extension
run: vsce publish --no-dependencies
- name: Release Extension on Open VSX
env:
OVSX_PAT: ${{secrets.OVSX_RELEASE_TOKEN}}
working-directory: extension
run: ovsx publish --no-dependencies
- name: Release Extension on GitHub
env:
GH_TOKEN: ${{github.token}}
working-directory: extension
run: |
v=$(jq --raw-output ".version" package.json)
gh release create "v${v}" --generate-notes
gh release upload "v${v}" *.vsix